컴공생의 다이어리
[프로그래머스] 방금그곡 - 파이썬(Python) 본문
[프로그래머스] 방금그곡 - 파이썬(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
728x90
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[프로그래머스] 뉴스 클러스터링 - 파이썬(Python) (0) | 2022.06.18 |
---|---|
[프로그래머스] 파일명 정렬 - 파이썬(Python) (0) | 2022.06.17 |
[프로그래머스] 게임 맵 최단거리 - 파이썬(Python) (0) | 2022.06.15 |
[프로그래머스] 캐시 - 파이썬(Python) (0) | 2022.06.14 |
[프로그래머스] 후보키 - 파이썬(Python) (0) | 2022.06.13 |
Comments