단계별로 풀어보기 > 심화 2 > 인사성 밝은 곰곰이
https://www.acmicpc.net/problem/25192
채팅 기록 수 N개가 주어질 때,
ENTER는 새로운 사람이 입장, 나머지는 사람들이 채팅을 친 기록이다.
새로운 사람이 입장하면 사람들은 곰곰티콘을 입력한다.
이 때, 채팅 기록 중 곰곰티콘을 사용한 횟수를 출력하라.

import java.io.*;
import java.util.HashSet;
public class 인사성_밝은_곰곰이 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
int count = 0;
HashSet<String> hs = new HashSet<>();
for(int i = 0; i<N; i++){
String str = br.readLine();
if(str.equals("ENTER")){
count += hs.size();
hs = new HashSet<>();
} else hs.add(str);
}
count += hs.size();
bw.write(String.valueOf(count));
bw.flush();
bw.close();
br.close();
}
}
Review
import java.io.*;
import java.util.HashSet;
public class 인사성_밝은_곰곰이_review {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
HashSet<String> hs = new HashSet<>();
int result = 0;
for(int i = 0; i<N; i++){
String str = br.readLine();
if(str.equals("ENTER")){
result += hs.size();
hs = new HashSet<>();
continue;
}
hs.add(str);
}
result += hs.size();
bw.write(String.valueOf(result));
bw.flush();
bw.close();
br.close();
}
}

Review
