🐣 알고리즘 삐약/💻 백준 삐약

105 삐약 : 백준 16165 | 걸그룹마스터 준석이 [바킹독| HASH |JAVA]

우주수첩 2024. 10. 31. 16:47
728x90

https://www.acmicpc.net/problem/16165

 

 

package BKD_0x15_Hash;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class BOJ_16165 {
    public static void main(String[] args) throws IOException {
        HashMap<String,String> memberMap = new HashMap<>(); //key : member
        HashMap<String,String[]> groupMap = new HashMap<>(); //key : group

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());

        for(int i=0;i<N;i++){
            String team = br.readLine();
            int num = Integer.parseInt(br.readLine());
            String[] temp = new String[num];
            for(int j=0;j<num;j++){
                String memberName = br.readLine();
                memberMap.put(memberName,team);
                temp[j]=memberName;
            }
            Arrays.sort(temp);
            groupMap.put(team,temp);
        }

        for(int i=0;i<M;i++){
            String inputStr = br.readLine();
            int q = Integer.parseInt(br.readLine());
            String teamName = memberMap.containsKey(inputStr)? memberMap.get(inputStr) : inputStr;

            if(q==1){//멤버 명 입력 팀 명 출력
                if(teamName==null){
                    System.out.println(0);
                }
                System.out.println(teamName);
            }else{//팀명 입력 멤버 명 사전 기준 출력
                for(String members : groupMap.get(teamName)){
                    System.out.println(members);
                }
            }
        }

    }
}

 

 

HashMap<멤버, 그룹>

HashMap<그룹, 멤버[]>

 

수월하게 해결

 

준석이 걸그룹 마스터 되려면 멀었다고 생각합니다. 

 

728x90