Notice
반응형
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- java
- set
- BREW
- deque
- 문제풀이
- 에라토스테네스의 체
- html
- 책추천
- npm
- googleChart
- input
- jsp
- Oracle
- HashMap
- 이클립스
- js
- IntelliJ
- node
- Algorithms
- Eclipse
- SQL
- TSX
- 자료구조
- 백준
- react
- 수학
- script
- 응용SW
- 정처산기
- Stack
Archives
- Today
- Total
개발하자
[백준][Java] 25192번 인사성 밝은 곰곰이 본문
728x90
안녕하세요 :)
적어도 하루 1개 이상 알고리즘 문제를 해결하려 노력하고 있습니다.
혼자 해결 가능한 문제도 있고, 어려웠던 문제도 있던 차라 복습하고자 글을 써 내려갑니다.
백준 25192 인사성 밝은 곰곰이
이 문제는 입력 처리와 Set 자료구조를 활용하는 문제로 쉽게 접근할 수 있습니다.
문제 조건을 꼼꼼히 읽고 구현하는 것이 포인트였어요!
📘 문제
💡 해결 방법
ENTER가 입력되면 새로운 채팅방에 들어온 것으로 간주하고,
그 이후 등장하는 닉네임은 새로운 채팅방에서 인사한 것으로 집계해야 합니다.
핵심 아이디어는 간단해요.
채팅방마다 인사한 닉네임을 중복 없이 관리해야 하므로 Set 자료구조를 사용하고
ENTER가 나오면 Set을 초기화, 새로 등잘한 닉네임이 Set에 없으면 추가하고 카운트를 증가시킵니다.
✅ 풀이 및 설명 (설명은 더보기 클릭)
더보기
- BufferedReader로 빠르게 입력을 받습니다.
- Set<String> nicknames를 만들어 채팅방마다 인사한 닉네임을 관리합니다.
- 입력값이 "ENTER"이면 Set을 초기화합니다.
- 새로운 닉네임이 등장했을 때만 카운트를 증가시킵니다 (nicknames.add(input)은 중복일 경우 false 반환).
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));
int n = Integer.parseInt(br.readLine());
Set<String> nicknames = new HashSet<>();
int count = 0;
for (int i = 0; i < n; i++) {
String input = br.readLine();
if (input.equals("ENTER")) {
nicknames.clear(); // 새 채팅방 시작
} else {
if (nicknames.add(input)) { // 새로 보는 닉네임이면
count++; // 인사 카운트 증가
}
}
}
System.out.print(count);
br.close();
}
}
이 문제는 Set을 활용한 중복 관리와 초기화 시점을 정확히 파악하는 것이 중요했습니다.
단순히 입력을 처리하는 문제 같지만 흐름을 잘 따라가야 실수 없이 해결 할 수 있었어요
공부하면서 유용했던 부분 메모 겸 공유하고자 끄적입니다.
고쳐야 하는 부분 있다면 댓글 남겨주시면 수정하겠습니다.
행복한 하루 보내세요 (❁´◡`❁)
728x90
반응형
'Algorithms > Baekjoon' 카테고리의 다른 글
[백준][Java] 2108번 통계학 (1) | 2025.04.29 |
---|---|
[백준][Java] 26069번 붙임성 좋은 총총이 (0) | 2025.04.29 |
[백준][Java] 1037번 약수 (0) | 2025.04.29 |
[백준][Java] 11050번 이항 계수 1 (1) | 2025.04.29 |
[백준][Java] 24723번 녹색거탑 (2) | 2025.04.28 |