dict = {"C#" : "H",
"D#" : "I",
"F#" : "J",
"G#" : "K",
"A#" : "L"}
def chr2time(time) :
return(int(time[:2]) * 60 + int(time[3:]))
def notes2chr(notes):
for key, value in dict.items():
notes = notes.replace(key, value)
return(notes)
def solution(m, musicinfos):
m = notes2chr(m)
minutesstore = []
titles = []
for musicinfo in musicinfos:
temp = musicinfo.split(",")
minutes = chr2time(temp[1]) - chr2time(temp[0])
notes = notes2chr(temp[3])
played = (notes * (minutes // len(notes) + 1))[:minutes]
print(m, played)
if m in played :
titles.append(temp[2])
minutesstore.append(minutes)
print(titles, minutesstore)
if len(titles) > 1 :
f = lambda i : minutesstore
return titles[max(range(len(minutes_store)), key = f)]
elif len(titles) == 1 :
return(titles[0])
else :
return "(None)"
이렇게 했는데 테스트케이스 21,30이 틀리네요,,,
노래 해당되면 가장 긴 노래 뽑도록 했고, 길이 같으면 먼저 입력된 곡 나오는거 맞는거 같은데 뭐가 문제일까요?,,
문제조건중에 있어서 정렬하니 그 두개만 통과하더라고요