문제 내용은 공백으로 분리된 문자열을 입력으로 받다가 ‘ChongChong’ 이 들어오면 ChongChong과 연관된 문자열은 모두 무지개 댄스를 추는 상태가 된다는 건데, ChongChong과 접촉한 문자열이 다른 문자열과 접촉하게 되면 해당 문자열도 무지개 댄스를 추는 상태가 되므로
ChongChong이 나온 시점부터 접촉하게 된 문자열의 갯수를 모두 세 주면 되는데
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = Integer.parseInt(br.readLine());
boolean chong = false;
HashSet<String> set = new HashSet<>();
for (int i = 0; i < count; i++) {
String[] split = br.readLine().split(" ");
if (split[0].equals("ChongChong") || split[1].equals("ChongChong")) {
chong = true;
set.add(split[0]);
set.add(split[1]);
} else if (chong) {
if (set.contains(split[0]) || set.contains(split[1])) {
set.add(split[0]);
set.add(split[1]);
}
}
}
System.out.println(set.size());
}
}
문제를 풀어보자면 들어오는 문자열을 Split으로 나눈 후 ChongChong이 들어있으면 해당 문자열을 Set에 넣어주고, 이후부턴 다음 문자열들이 Set 안에 들어있다면 두 문자열을 모두 Set에 넣어주고 (Set은 중복을 허용하지 않으므로 중복되게 넣어도 상관없음)
입력을 모두 받고 난 뒤 Set의 크기를 출력해주면 무지개 댄스를 추는 사람의 수를 구할 수 있다
Leave a Reply