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

2025. 1. 10. 14:29·Algorithm
반응형

[25192번 : 인사성 밝은 곰곰이] - Silver4


[ 문제 ]

알고리즘 입문방 오픈 채팅방에서는 새로운 분들이 입장을 할 때마다 곰곰티콘을 사용해 인사를 한다.

이를 본 문자열 킬러 임스는 채팅방의 기록을 수집해 그 중 곰곰티콘이 사용된 횟수를 구해 보기로 했다.

ENTER는 새로운 사람이 채팅방에 입장했음을 나타낸다. 그 외는 채팅을 입력한 유저의 닉네임을 나타낸다.

닉네임은 숫자 또는 영문 대소문자로 구성되어 있다.

새로운 사람이 입장한 이후 처음 채팅을 입력하는 사람은 반드시 곰곰티콘으로 인사를 한다.

그 외의 기록은 곰곰티콘을 쓰지 않은 평범한 채팅 기록이다.

채팅 기록 중 곰곰티콘이 사용된 횟수를 구해보자!


[ 입력 ]

첫 번째 줄에는 채팅방의 기록 수를 나타내는 정수 N$N$ 이 주어진다. (1 ≤ N ≤ 100000)

두 번째 줄부터 N개의 줄에 걸쳐 새로운 사람의 입장을 나타내는 ENTER, 혹은 채팅을 입력한 유저의 닉네임이 문자열로 주어진다. (1 ≤ 문자열 길이 ≤ 20)

첫 번째 주어지는 문자열은 무조건 ENTER이다.


[ 출력 ]

# 예제 입력 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

[ Code ]

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int cnt = Integer.parseInt(br.readLine());
        HashMap<String, Integer> map = new HashMap<>();
        int result = 0;

        for (int i = 0; i < cnt; i++) {
            String str = br.readLine();

            if (str.equals("ENTER")) {
                map.clear();
                map.put("ENTER", 1);
            } else {
                if (map.containsKey("ENTER") && !map.containsKey(str)) {
                    map.put(str, 1);
                    result++;
                } else {
                    continue;
                }
            }
        }

        System.out.println(result);
    }
}

- "ENTER" 가 들어오면 해시맵을 초기화하고 해시맵에 "ENTER" 를 삽입한다.

- 유저 닉네임이고 해시맵에 유저가 존재하지 않는다면, 곰곰티콘 사용 횟수를 1 추가한다.

- 유저 닉네임이지만 해시맵에 유저가 존재한다면, 일반 채팅을 하는 것이니 넘어간다.

반응형

'Algorithm' 카테고리의 다른 글

[JAVA] 백준 5430번 : AC  (2) 2025.01.15
[JAVA] 백준 1822번 : 차집합  (1) 2025.01.10
[JAVA] 백준 1302번 : 베스트셀러  (0) 2025.01.09
[JAVA] 백준 1406번 : 에디터  (0) 2025.01.08
[JAVA] 백준 17413번 : 단어 뒤집기 2  (0) 2025.01.08
'Algorithm' 카테고리의 다른 글
  • [JAVA] 백준 5430번 : AC
  • [JAVA] 백준 1822번 : 차집합
  • [JAVA] 백준 1302번 : 베스트셀러
  • [JAVA] 백준 1406번 : 에디터
ssu_dev
ssu_dev
  • ssu_dev
    ssu
    ssu_dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (71) N
      • Cloud (13) N
      • Algorithm (42)
      • Computer Science (5)
      • System (6)
      • Trouble Shooting (4)
      • Work (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 인기 글

  • 태그

    dfs
    플로이드 워셜
    Java
    BOJ
    sort
    Karpenter
    cs
    투포인터
    bfs
    EKS
    K8s
    docker
    Stack
    Deque
    자료구조
    node scaling
    Pod Scheduling
    priorityqueue
    구현
    OS
  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
ssu_dev
[JAVA] 백준 25192번 : 인사성 밝은 곰곰이
상단으로

티스토리툴바