https://www.acmicpc.net/problem/26069
26069번: 붙임성 좋은 총총이
첫번째 줄에는 사람들이 만난 기록의 수 $N\ (1 \le N \le 1\ 000)$이 주어진다. 두번째 줄부터 $N$개의 줄에 걸쳐 사람들이 만난 기록이 주어진다. $i + 1$번째 줄에는 $i$번째로 만난 사람들의 이름 $A_i$
www.acmicpc.net
<문제요약>
N번의 입력
총총이를 만난 사람은 무지개 댄스를 춤
무지개 댄스는 전파 됨
N번의 반복 후 무지개 댄스를 추는 사람의 수 구하기
<문제 풀이>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
public class P26069 {
static Map<String,Integer> map= new HashMap<>();
static int danceCnt=0;
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int N=Integer.parseInt(br.readLine());
map.put("ChongChong",1);
while (N-->0){
StringTokenizer st=new StringTokenizer(br.readLine());
String name1=st.nextToken();
String name2=st.nextToken();
map.put(name1,map.getOrDefault(name1,0));
map.put(name2,map.getOrDefault(name2,0));
if(map.get(name1)==1 | map.get(name2)==1){
map.put(name1,1);
map.put(name2,1);
}
}
for(Map.Entry<String, Integer> entry: map.entrySet()){
if(entry.getValue()==1) {
danceCnt++;
}
}
System.out.println(danceCnt);
}
}
제출 결과
map을 알게 된 후 ..
'그'만 사랑하겠습니다.
다른분들은 어떻게 풀었나 찾아봤는데 HashSet이 많았다 ..
나도 생각해보니 그게 더 낫겠다는 생각을 했다 ..
냅다 map으로 들이박는 문제풀이 방식을 고쳐야겠다