일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준 2473번 세 용액 - java
- 백준 14938번 서강그라운드
- 백준 1043번 거짓말 - java 분리 집합
- toUpperCase
- mysql hy000 에러
- 코틀린기초
- append
- HashMap
- 백준 1806번 부분합 java
- Java
- dp
- 최소 힙 1927
- HashSet
- StringBuilder
- replace()
- 프로그래머스 java
- 18111번 마인크래프트 - java 구현
- 프로그래머스
- 백준 1197번 최소 스패닝 트리 - java
- map
- 프로그래머스 자바
- Stack
- kotlin
- StringTokenizer
- ac 5430번
- 백준 3190번
- 백준 1541
- 백준 2467번 용액 자바 - 이분탐색
- 백준 1647번 도시 분할 계획 - java
- hash
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