방금그곡
재생시간이 몇분인지 계산
하고,그 재생시간 동안
실제로 라디오에서 재생된 음정들을 구해서 저장한다.
그리고 그것을
네오가 기억한 멜로디와 비교해서 결과를 구하면 된다.
그런데 음정들이 문자열로 주어지는데
#
이 포함되어 있어서 이를 처리하기 위해 문자열을 리스트로 바꾸어 처리해주었다.
def solution(m, musicinfos): dic = {} for mf in musicinfos: info = mf.split(',') si = int(info[1][:2]) - int(info[0][:2]) bun = int(info[1][3:]) - int(info[0][3:]) time = si * 60 + bun songName = info[2] sheet = info[3] realSheet = [] for s in sheet: if s == '#': realSheet[-1] += s else: realSheet.append(s) radio = [] for i in range(time): radio.append(realSheet[i % len(realSheet)]) for i in range(len(radio)): if ''.join(radio[i:i + len(m) - m.count('#')]) == m: dic[songName] = time if not dic: return "(None)" dic = sorted(dic.items(), key=lambda x: x[1], reverse=True) return dic[0][0]