본문 바로가기

Java/백준

[JAVA] 백준 25192 인사성 밝은 곰곰이

25192번: 인사성 밝은 곰곰이 (acmicpc.net)

 

25192번: 인사성 밝은 곰곰이

첫번째 새로운 사람이 들어온 뒤  pjshwa, chansol, chogahui05은 모두 곰곰티콘으로 인사했다. 두번째 새로운 사람이 들어온 뒤  pjshwa와 chansol은 다시 곰곰티콘으로 인사했다.

www.acmicpc.net

 

 

풀이 과정 

 

 

- 첫 번째 새로운 사람이 들어온 뒤 pjshwa, chansol, chogahuio5은 모두 곰곰티콘으로 인사

- 두 번째 새로운 사람이 들어온 뒤, pjshwa, chansol은 다시 곰곰티콘으로 인사 

 

 

- lms0806은 새로운 사람이 들어왔으므로 처음은 곰곰티콘으로 인사하고, 그 뒤로는 일반 채팅을 함 

 

- 중복 제거해야 하니까 HashSet 사용

- "Enter"가 들어올때까지 HashSet에 추가하고 개수 저장 후 HashSet 초기화 

- 초기화는 HashSet의 clear() 함수 사용 

 

 

정답

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
import java.util.HashSet;

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<String>();
        
        int n = Integer.parseInt(br.readLine());
        
        int total = 0;
        
        
        for(int i=0; i<n; i++)
        {
            StringTokenizer st = new StringTokenizer(br.readLine());
            String temp = st.nextToken();
            
            if(temp.equals("ENTER"))
            {
                total += set.size();
                set.clear();
            }
            else
            {
                set.add(temp);
            }
        }
        
        total += set.size();
        
        bw.write(total+"");
        
        bw.flush();
        bw.close();
        
    }
}