일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- 백준 2589번 보물섬 G5
- replace()
- map
- HashMap
- Stack
- Java
- toUpperCase
- append
- 백준 2660번 회장뽑기 G5
- 전위 중위 후위
- 백준 11725번 트리의 부모 찾기
- StringTokenizer
- 서브모듈 yml
- 프로그래머스
- kotlin
- StringBuilder
- 백준 1967번 트리의 지름 G4 자바
- HashSet
- 프로그래머스 자바
- 백준 1240번 노드사이의 거리
- 포인트 컷
- 백준 2206번 벽 부수고 이동하기 G3
- 백준 1600번 말이 되고픈 원숭이
- 코틀린기초
- 스프링 다중프로필
- dp
- 프로그래머스 java
- 스프링 on-profile
- hash
- 백준 8979번 올림픽 S5 자바
Archives
- Today
- Total
말하는 컴공감자의 텃밭
백준 25192 인사성 밝은 곰곰이 <S4> - java HashSet 본문
728x90
문제를 보게되면, 채팅방 기록 개수가 첫줄에 주어지고, 이후로 사용자의 닉네임인 문자열이 주어진다.
처음에 누군가가 들어오면 곰곰티콘으로 인사를 하고, 같은 닉네임이 추가로 나온다면 일반 채팅이다.
곰곰티콘이 얼마나 사용되었는지 출력하라.
간단하게 중복을 체크하면 되는 문제였다. HashSet이 떠올랐고 바로 작성했다.
조건을 str이 ENTER라면 clear해주고, 아니고 !contains라면 Hash에 add하고, answer ++ 해주었다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import java.util.*; public class Main { // 25192번 인사성 밝은 곰곰이 public static void main(String[] args) throws Exception { // 닉네임을 Hash에 넣고, 중복되지 않으면 cnt ++ // Enter가 들어오면 Hash 초기화 후 반복. // 복잡하다면 처음껄 함수로 빼면 될듯듯 Scanner sc = new Scanner(System.in); HashSet<String> Chat = new HashSet<>(); int K = sc.nextInt(); int answer = 0; //input for(int tc = 1; tc <= K; tc++) { String str = sc.nextLine(); if(str.equals("ENTER")) { // == 안쓰도록 주의. Chat.clear(); }else if(!Chat.contains(str)){ Chat.add(str); answer ++; } } // output System.out.println(answer); } } | cs |
근데 이상하게 특정 input에서 오류가 발생해서 틀리고 말았다.
세는곳도 없고 반례가 있나 생각했는데 첫줄이 씹히는것 같았다.
아무래도 nextInt()로 받고, 다음부터 str로 받아서 공백이 들어갔었나보다
K를 받고, 공백을 잡아먹고 input을 받아주니 해결됐다.
728x90
'알고리즘 > Backjoon - Java' 카테고리의 다른 글
백준 11047번 동전 <S4> (0) | 2023.10.19 |
---|---|
백준 10773번 제로 <S4> - stack (0) | 2023.10.16 |
백준 29774 케이크 자르기 게임 (small) - java 에드훅 (0) | 2023.09.15 |
백준 10815번 숫자카드 <실버5> - 자바 java 이분탐색, HashSet (0) | 2023.08.03 |
백준 13335 트럭 <실버 1> - 자바 Queue (0) | 2023.07.20 |
Comments