풀이:
array를 이용하면 문제는 풀 수 있지만 시간 초과가 나온다. 그렇기 때문에 dictionary인 hashmap이나 set(집합) hashset을 이용해서 풀면 된다.
또한 ENTER가 입력되면 해당 자료가 초기화되어야 하기 때문에 그 전에 size를 count에 더해주고 자료를 초기화한다.
for문이 다 돌고 나면 마지막으로 size를 count에 더해주고 count를 출력한다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
HashSet<String> set = new HashSet<>();
int n = Integer.parseInt(br.readLine());
int count = 0;
for (int i = 0; i < n; i++) {
String chatting = br.readLine();
if (chatting.equals("ENTER")) {
count += set.size();
set.clear();
} else {
set.add(chatting);
}
}
count += set.size();
bw.write(String.valueOf(count));
bw.flush();
}
}
'프로그래머스 AND 백준 > java' 카테고리의 다른 글
백준 2573번 (1) | 2024.03.24 |
---|---|
백준 10448 (1) | 2024.03.14 |
백준 3273 번 - 자바 (2) | 2024.03.12 |
백준 26069번 java (0) | 2023.10.25 |
백준 1037번 java (1) | 2023.10.23 |