본문 바로가기
프로그래머스 AND 백준/java

백준 25192번 java

by 김선지 2023. 10. 24.

풀이: 

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