728x90
1. 문제
알고리즘 입문방 오픈 채팅방에서는 새로운 분들이 입장을 할 때마다 곰곰티콘을 사용해 인사를 한다. 이를 본 문자열 킬러 임스는 채팅방의 기록을 수집해 그 중 곰곰티콘이 사용된 횟수를 구해 보기로 했다.
ENTER는 새로운 사람이 채팅방에 입장했음을 나타낸다. 그 외는 채팅을 입력한 유저의 닉네임을 나타낸다. 닉네임은 숫자 또는 영문 대소문자로 구성되어 있다.
새로운 사람이 입장한 이후 처음 채팅을 입력하는 사람은 반드시 곰곰티콘으로 인사를 한다. 그 외의 기록은 곰곰티콘을 쓰지 않은 평범한 채팅 기록이다.
채팅 기록 중 곰곰티콘이 사용된 횟수를 구해보자!
2. 풀이
1. 최근 ENTER 등장 번호를 count에 저장한다.
2. 만약 입력문자열이 ENTER라면 count++하고 다음 입력을 받는다.
3. user라는 map에 닉네임이 없으면 추가한다.
4. user.get(name) 값이 현재 ENTER 등장횟수와 맞지 않으면 answer+1하고 user 값을 갱신한다.
5. 답을 출력한다.
import java.io.*;
import java.util.*;
public class BOJ_25192_인사성밝은곰곰이 {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(in.readLine());
Map<String, Integer> user = new HashMap<>();
int answer = 0;
String name;
int count = 0;
for(int i=0;i<N;i++){
name = in.readLine();
if(name.equals("ENTER")) {
count++;
continue;
}
if(!user.containsKey(name)) user.put(name,0);
if(user.get(name) != count){
answer++;
user.put(name, count);
}
}
System.out.println(answer);
}
}
3. 결과
'코딩테스트 > BOJ' 카테고리의 다른 글
[BOJ] 15658 연산자 끼워넣기 2 - JAVA (0) | 2023.08.13 |
---|---|
[BOJ] 5972 택배 배송 - JAVA (0) | 2023.07.30 |
[BOJ] 2252 줄 세우기 - JAVA (0) | 2023.07.28 |
[BOJ] 2623 음악프로그램 - JAVA (0) | 2023.07.27 |
[BOJ] 19941 햄버거 분배 - JAVA (0) | 2023.07.26 |
댓글