문제: https://www.acmicpc.net/problem/26069
26069번: 붙임성 좋은 총총이
첫번째 줄에는 사람들이 만난 기록의 수 $N\ (1 \le N \le 1\ 000)$이 주어진다. 두번째 줄부터 $N$개의 줄에 걸쳐 사람들이 만난 기록이 주어진다. $i + 1$번째 줄에는 $i$번째로 만난 사람들의 이름 $A_i$
www.acmicpc.net
1. 코드
import java.util.*;
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Set <String> set = new HashSet<>();
set.add("ChongChong");
int N = sc.nextInt();
while(N-- > 0) {
String A = sc.next();
String B = sc.next();
if(set.contains(A) || set.contains(B)) {
set.add(A);
set.add(B);
}
}
System.out.println(set.size());
}
}
2. 설명
문제의 내용이 조금 이해하기 어려웠는데 총총이와 만나기 전까지는 춤추고 있는 상태가 아니며 총총이와 만나는 순간부터는 해당 사람도 춤추는 사람이 되며 이후로 춤추는 사람과 만나게 되면 춤추는 사람이 된다.
총총이를 만나기전 총총이에 의해 춤추는 사람이 된 사람은 춤추지 않는 상태를 유지하게 된다. 따라서 예제에서 춤추는 사람들의 목록은 다음과 같다.
[ChongChong, jthis, jyheo98, lms0806, pichulia, pjshwa, r4pidstart, swoon, tony9402, bnb2011]
3. 정리
- 문제를 먼저 이해하자.
- HashSet을 적절히 활용하자.
'컴퓨터 > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 - 27433번: 팩토리얼 2 [Java] (0) | 2023.10.14 |
---|---|
백준 알고리즘 - 20920번: 영단어 암기는 괴로워 [Java] (0) | 2023.10.12 |
백준 알고리즘 - 25192번: 인사성 밝은 곰곰이 [Java] (0) | 2023.10.08 |
백준 알고리즘 - 24723번: 녹색거탑 [Java] (0) | 2023.10.06 |
백준 알고리즘 - 15439번: 베라의 패션 [Java] (0) | 2023.10.04 |