세용용용용 2023. 6. 8. 09:50

나의 코드

def solution(m, musicinfos):
    answer = ''
    mus_list = []
    for i in musicinfos:
        i = i.split(',')
        time_len = (60*(int(i[1].split(':')[0]) - int(i[0].split(':')[0]))) + ((int(i[1].split(':')[1]) - int(i[0].split(':')[1])))
        musicinfos_play = (i[3]*(time_len // len(i[3]))) + i[3][:time_len%len(i[3])]
        musicinfos_play = musicinfos_play.replace(m+'#', ' ')
       
       
        if m in musicinfos_play:
            mus_list.append([time_len, i[2]])
    mus_list.sort(key = lambda x : x[0], reverse=True)
    #print(mus_list)
    answer = mus_list[0][1]
    #print(answer)
    return answer
solution("ABC",
            ["12:00,12:14,HELLO,C#DEFGAB", "13:00,13:05,WORLD,ABCDEF"]
            )

역시나 오늘도 런타임 에러~~~~ ㅎㅎㅎ.ㅎㅎ.ㅎ.ㅎ.ㅎㅎ하하하하하하히

하~

최종 코드

def malodi(x):
    if 'A#' in x:
        x = x.replace('A#','a')
    if 'C#' in x:
        x = x.replace('C#', 'c')
    if 'D#' in x:
        x = x.replace('D#', 'd')
    if 'F#' in x:
        x = x.replace('F#', 'f')
    if 'G#' in x:
        x = x.replace('G#', 'g')
    return x


def solution(m, musicinfos):
    answer = ''
    mus_list = []
    start_num = 0
    m = malodi(m)
    for i in musicinfos:
        #print(i)
        start_num += 1
        i = i.split(',')
        #print(i)
        time = ((int(i[1].split(':')[0])*60) + int(i[1].split(':')[1])) - ((int(i[0].split(':')[0])*60)+int(i[0].split(':')[1]))
        #print(time)
        i[3] = malodi(i[3])
        mus_total = (time // len(i[3]))*i[3] + i[3][:time%len(i[3])]
        #print(mus_total)

        if m in mus_total:
            mus_list.append([time, start_num, i[2]])
    mus_list.sort(key=lambda x : (-x[0], x[1]))

    if len(mus_list) == 0:
        return "(None)"
    else:
        answer = mus_list[0][2]
    #print(mus_list)
    print(answer)
    return answer
solution('ABCDEFG',['12:00,12:14,HELLO,CDEFGAB',
                    '13:00,13:05,WORLD,ABCDEF'])