컴공생의 다이어리

[프로그래머스] 방금그곡 - 파이썬(Python) 본문

Development/Algorithm & Coding Test

[프로그래머스] 방금그곡 - 파이썬(Python)

컴공 K 2022. 6. 16. 00:01

[프로그래머스] 방금그곡 - 파이썬(Python)

 

 

 

def shap_to_lower(s):  # 샵이 포함된 음을 소문자로 변경
    s = s.replace('C#', 'c').replace('D#', 'd').replace('F#', 'f').replace('G#', 'g').replace('A#', 'a')
    return s


def solution(m, musicinfos):
    data = []
    m = shap_to_lower(m)
    for i in musicinfos:
        i = i.split(',')
        data.append([
            int(i[1][:2]) * 60 + int(i[1][3:]) - (int(i[0][:2]) * 60 + int(i[0][3:])),  # 재생시간
            i[2],  # 제목
            shap_to_lower(i[3])])  # 멜로디

    data.sort(key=lambda x: (-x[0]))  # 재생시간 긴 순으로 정렬

    for i in range(len(musicinfos)):
        # 재생시간에 해당하는 악보? 만들기
        a, b = divmod(data[i][0], len(data[i][2]))
        text = data[i][2] * a + data[i][2][:b]

        if m in text:  # 멜로디가 악보 안에 있는 경우
            return data[i][1]  # 해당 곡의 제목 반환
    else:  # 일치하는 곡이 없는 경우
        return '(None)'

 

 

 

 

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

 

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

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

programmers.co.kr

 

728x90
Comments