프로그래밍/백준

[알고리즘] 백준 16165 파이썬 - 걸그룹 마스터 준석이

매 석 2023. 4. 30. 22:38
반응형

 

 

16165번: 걸그룹 마스터 준석이

정우는 소문난 걸그룹 덕후이다. 정우의 친구 준석이도 걸그룹을 좋아하지만 이름을 잘 외우지 못한다는 문제가 있었다. 정우는 친구를 위해 걸그룹 개인과 팀의 이름을 검색하여 외우게 하는

www.acmicpc.net

문제

정우는 소문난 걸그룹 덕후이다. 정우의 친구 준석이도 걸그룹을 좋아하지만 이름을 잘 외우지 못한다는 문제가 있었다. 정우는 친구를 위해 걸그룹 개인과 팀의 이름을 검색하여 외우게 하는 퀴즈 프로그램을 만들고자 한다.

 

문제풀이

n,m=map(int,input().split())
tmp,tmp2={},{}
for _ in range(n):
	#01
    team=input()
    mem=[]
    for i in range(int(input())):
        name=input()
        tmp[name]=team
        mem.append(name)
    mem.sort()
    #02
    tmp2[team]=mem
for _ in range(m):
	#03
    s=input()
    num=int(input())
    if num==1:
        print(tmp[s])
    else:
        print('\n'.join(tmp2[s]))

- #01 : team 이름을 입력받고 멤버 수를 입력받는다.

           멤버 이름은 tmp[멤버이름]을 팀 이름으로 저장해놓는다.

           mem에는 멤버 이름을 추가한 후 마지막에 사전순으로 정렬한다.

- #02 : 사전순으로 정렬된 mem을 tmp2[team]에 저장한다.

           즉 팀마다 tmp2에 멤버 리스트에 저장된다.

- #03 : s와 num을 입력받고 num이 1이면 tmp[s] 즉  #01에서 저장한

           값을 바탕으로 팀 이름을 출력한다.

           0인 경우에는 tmp2를 통해 멤버의 이름을 한 줄에 하나씩 출력한다.