https://school.programmers.co.kr/learn/courses/30/lessons/17683
import math
def sharp(m):
m = m.replace('C#','c').replace('D#','d').replace('F#','f').replace('G#','g').replace('A#','a')
return m
def solution(m, musicinfos):
answer = ''
max_time = 0
m = sharp(m)
for info in musicinfos:
# print(info)
start,end,head,melody = info.split(',')
end = end.split(':')
start = start.split(':')
play_time = ((int(end[0]) * 60) + int(end[1])) - ((int(start[0]) * 60) +int( start[1]))
melody = sharp(melody)
leng = math.ceil(play_time / len(melody))
melody = (melody * leng)[:play_time]
if m in melody and max_time < play_time:
max_time = play_time
answer = head
if answer == '':
return '(None)'
return answer
이 문제는 문제 자체를 이해하지 못했다.
때문에 해답을 찾아보았다.
우선 코드 중에 #이 포함된 코드는 모두 소문자로 변환했다.
그리고 for문을 돌며 musicioninfos에 있는 코드에서도 샵은 모두 소문자로 변경하고
시작시간과 종료시간을 이용해 플레이 시간을 구했고, 이 플레이 시간을 이용해 총 코드를 구했다.
'알고리즘' 카테고리의 다른 글
프로그래머스)[3]차 n진수 게임-python (0) | 2023.02.16 |
---|---|
*프로그래머스)거리두기 확인하기 (0) | 2023.02.16 |
프로그래머스)택배상자 (0) | 2023.02.14 |
프로그래머스)연속 부부 수열 합의 개수-python (0) | 2023.02.13 |
프로그래머스)모음사전-pyhton (0) | 2023.02.13 |