문제

문제

 

programmers.co.kr/learn/courses/30/lessons/17683

 

코딩테스트 연습 - [3차] 방금그곡

방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV,

programmers.co.kr

 

처음 작성한 코드

def solution(m, musicinfos):
    answer = ''
    maxTime = 0
    m = m.replace('C#','c').replace('D#','d').replace('F#','f').replace('G#','g').replace('A#','a')
    for i in musicinfos:
        tmp = i.split(',')
        runningTime = (int(tmp[1].split(':')[0]) - int(tmp[0].split(':')[0]))*60 + (int(tmp[1].split(':')[1]) - int(tmp[0].split(':')[1]))
        tmp[3] = tmp[3].replace('C#','c').replace('D#','d').replace('F#','f').replace('G#','g').replace('A#','a')
        mok, namaji = divmod(runningTime, len(tmp[3]))
        music = tmp[3]*mok+tmp[3][:namaji]
        if m in music:
            if maxTime < runningTime:
                maxTime = runningTime
                answer = tmp[2]
    return answer if answer else "(None)"

 

깨달은 점

  • 카카오 코테는 문제 조건만 맞추면 거의 대부분 통과한다. (효율성 테스트 없을때...^^)
  • 반환할 때, return answer if 조건 else 반환값 이런 식으로도 사용할 수 있다.
  • 사람들 생각하는 거 다 비슷하다..