본문 바로가기

WEB/Algorithm

백준 26069

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으로 들이박는 문제풀이 방식을 고쳐야겠다

'WEB > Algorithm' 카테고리의 다른 글

백준 15651  (0) 2023.11.24
백준 24060  (1) 2023.11.22
백준 25501  (0) 2023.11.22
백준 27433  (1) 2023.11.22
백준 1037  (0) 2023.11.21