ALGORITHM/PYTHON

백준 BAEKJOON 31562번 전주 듣고 노래 맞히기 [PYTHON/파이썬]

칼코
반응형

 

 

 

 

 

 

백준 BAEKJOON 31562번 전주 듣고 노래 맞히기 [PYTHON/파이썬]


<문제 출처> (BRONZE Ⅰ)

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

 

31562번: 전주 듣고 노래 맞히기

윤수와 정환은 「전주 듣고 노래 맞히기」라는 게임을 할 예정이다. 「전주 듣고 노래 맞히기」는 주어진 노래의 전주를 듣고 먼저 제목을 맞히는 사람이 점수를 얻어 최종적으로 점수가 더 많

www.acmicpc.net

 

 

 

 

 

 

<풀이>

전주의 첫 세 음을 노래 제목과 함께 딕셔너리에 담았다.

정환기가 맞히기를 시도할 노래의 첫 세음과 비교하면서

count 변수를 통해 몇 개인지 세어준 뒤, 2개 이상이면 "?"를 출력,

1개면 해당 노래 제목을 출력,

없다면 "!"를 출력했다.

 

 

 

 

 

 

 

<코드>

N, M = map(int, input().split())
song = {}

for _ in range(N):
    T, S, a1, a2, a3, a4, a5, a6, a7 = input().split()
    A = [a1, a2, a3]	# 첫 세 음만 리스트로 저장
    song[S] = A		# key가 노래 제목, value가 첫 세 음

for _ in range(M):
    B = input().split()
    count = 0	# 같은 노래가 몇 개인지 저장할 변수
    title = ""	# 노래 제목 저장할 변수

    for s in song:
        if B == song[s]:	# 첫 세 음이 같다면
            count += 1
            title = s	# title 변수는 count가 1일때만 기능을 발휘한다.

    if count >= 2:
        print("?")
    elif count == 1:
        print(title)
    else:
        print("!")

 

 

 

 

 

 

 

 

반응형