알고리즘/백준
[BOJ] 백준 25192 인사성 밝은 곰곰이 (JAVA)
오딩이
2022. 5. 31. 02:10
문제 : https://www.acmicpc.net/problem/25192
25192번: 인사성 밝은 곰곰이
첫번째 새로운 사람이 들어온 뒤 pjshwa, chansol, chogahui05은 모두 곰곰티콘으로 인사했다. 두번째 새로운 사람이 들어온 뒤 pjshwa와 chansol은 다시 곰곰티콘으로 인사했다.
www.acmicpc.net
🔍Solve
사실 이 문제는 이모티콘이 너무 귀여워서 끌렸습니다,,
문제는 중복되는 문자열을 한 가지 경우로 처리하는 아주 간단한 HashSet의 기본 유형입니다.
단, 한가지 주의할 점은 ENTER(새로운 사람이 채팅방에 입장)가 입력되었을 때 다시 곰곰티콘으로 인사를 하는 구조이므로, ENTER입력이 들어오면 현재까지 HashSet의 크기를 count에 더해주고 HashSet을 clear 해줍니다.
❗ Code
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
public class Main {
static int N;
static HashSet<String> hashSet;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
hashSet = new HashSet<>();
int count = 0;
for(int i=0;i<N;i++){
String str = br.readLine();
if(str.equals("ENTER")){ //ENTER입력이 들어오면
count += hashSet.size(); //현재까지의 HashSet크기를 count에 더해주고
hashSet.clear(); //HashSet은 비워준다.
}else{ //ENTER가 아닌 다른 String 입력값이라면
hashSet.add(str); //HashSet에 추가해 중복을 제거합니다.
}
}
count += hashSet.size();
System.out.println(count);
}
}
728x90