Haribo ML, AI, MATH, Algorithm

[3차] 방금그곡


[3차] 방금그곡

from datetime import datetime
import re
def solution(m, musicinfos):
    m = re.sub('[A-G]#', lambda x : x.group().lower()[0], m)
    broad_list = [re.sub('[A-G]#', lambda x : x.group().lower()[0], info).split(',') for info in musicinfos]
    songs = []
    music = []
    for i, info in enumerate(broad_list) :
        start, end, title, melody = info
        playtime = (datetime.strptime(end,'%H:%M') - datetime.strptime(start,'%H:%M')).seconds//60
        q, r = divmod(playtime, len(melody))
        song =  melody*q + melody[:r]
        if m in song :
            songs.append(title)
            music.append(len(song))
    return songs[music.index(max(music))] if music else "(None)"

풀이

반올림 음들을 re.sub를 이용해 소문자로 바꿔준다 ex) A# -> a

datetime 패키지를 이용해 재생된 총 시간(minute)을 구한 후 멜로디 전체 길이를 늘려준다.

playtime이 가장긴 노래제목들을 return


Similar Posts

이전 포스트 [3차] n진수 게임

다음 포스트 [3차] 압축

Comments