https://www.acmicpc.net/problem/25192
- 예제 입력1
9
ENTER
pjshwa
chansol
chogahui05
lms0806
pichulia
r4pidstart
swoon
tony9402
- 예제 출력1
8
- 예제 입력2
7
ENTER
pjshwa
chansol
chogahui05
ENTER
pjshwa
chansol
- 예제 출력2
5
- 예제 입력3
3
ENTER
lms0806
lms0806
- 예제 출력3
1
- 문제 접근
- ENTER가 입력된 후 처음 입력된 채팅은 곰곰티콘으로 인사
- 그 외엔 곰곰티콘을 사용하지 않는 기록
⇒ 곰곰티콘 인사 후 동일한 아이디가 채팅을 칠 수도 있음 → 입력 예제 3
- 문제 해결
- Set을 이용하여 유저의 아이디를 저장
- ENTER가 입력되면 Set을 클리어 시킴
- 존재 안할 경우 Set에 추가하고 곰곰티콘의 횟수를 1증가
- 이미 존재하면 무시
- 슈도 코드
Set 선언
GomGomCount(곰곰티콘 횟수)
chatLogCount(채팅방 기록수 저장)
for(chatLogCount만큼 반복){
input(입력값 저장)
if(input이 ENTER라면){
Set 클리어
continue
}
if(Set에 존재하는 input이면) continue
Set에 추가
GomGomCount 1증가
}
GomGomCount 출력
- 코딩하기
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Set<String> greetingUser = new HashSet<>();
int chatLogCount = Integer.parseInt(br.readLine());
int GomGomCount = 0; // 곰곰티콘 사용 횟수
for(int i = 0; i < chatLogCount; i++){
String input = br.readLine();
if(input.equals("ENTER")) {
// 입장 시 곰곰티콘 새로 카운트해야 하기 때문에
// Set을 클리어해서 새로 유저를 등록
greetingUser.clear();
continue;
}
if(!greetingUser.contains(input)){ // Set에 없을 경우
greetingUser.add(input); // 유저 추가
GomGomCount++; // 곰곰티콘 인사
}
}
System.out.println(GomGomCount);
}
'Coding Test > Problem Number' 카테고리의 다른 글
[Java] 숫자 카드 [10815번] (0) | 2024.07.20 |
---|---|
[Java] 가희와 키워드 [22233번] (0) | 2024.07.20 |
[Java] 베스트셀러 [1302번] (0) | 2024.07.20 |
[Java] 팰린드롬 파티션 [2705번] (0) | 2024.07.20 |
[Java] Z [1074번] (0) | 2024.07.20 |