[Python] 프로그래머스 level2 방금그곡

mog·2020년 12월 14일
2

프로그래머스 level2. 방금그곡

📛 문제에 있는 오류!!

  • 테스트 27번에 E#이 존재한다!
  • 양 옆에 `가 붙지 않은 None을 반환 해야한다.

🎅 문제 풀이 아이디어

🎄 전체 코드

def control(m):
    return m.replace('C#','c').replace('D#','d').replace('F#','f').replace('G#','g').replace('A#','a')

def solution(m, musicinfos):
    answer = []
    m = control(m)
    for i in musicinfos:
        start, end, name, s = i.split(",")
        n = abs((int(start[:2])*60 + int(start[3:])) - (int(end[:2])*60 + int(end[3:])))
        s = control(s)
        music = ''
        for j in range(n):
            music += s[j%len(s)]
        if music.find(m) != -1:
            answer.append((name, n))
    if not answer:
        return "(None)"
    answer.sort(reverse=True, key = lambda x: x[1])
    return answer[0][0]

0개의 댓글