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

수경·2023년 6월 30일
1

problem solving

목록 보기
169/174

프로그래머스 - 방금그곡

풀이

  1. 구현 그 잡채...

  2. 데이터 쪼개기... 카카오는 전처리하기 왤캐 귀찮게 해놓을까... 진심 궁금..

  3. 음악 재생 시간 = 종료 시간 - 시작 시간.. 계산 해주기

  4. 코드 길이 < 재생 시간 인 경우 코드 구해주기...
    ex) 코드: ABC, 재생시간: 5분인 경우 재생된 코드는 ABCAB

  5. 노래 제목과 재생된 코드 저장하기... 나는 딕셔너리에 저장했다.. 제목:코드

  6. 딕셔너리 순회하면서 네오가 기억한 멜로디가 있는 지 찾아주기~
    -> 길이 비교해서 잘 찾아주기~~


코드

def solution(m, musicinfos):
    music = dict()
    m = m.replace('C#','c').replace('D#','d').replace('F#','f').replace('G#','g').replace('A#','a')
    
    for info in musicinfos:
        start, end, name, code = info.split(',')
        code = code.replace('C#','c').replace('D#','d').replace('F#','f').replace('G#','g').replace('A#','a')
        start_t = list(map(int, start.split(':')))
        end_t = list(map(int, end.split(':')))
        time = (end_t[0] * 60 + end_t[1]) - (start_t[0] * 60 + start_t[1])
        repeat = time // len(code)
        music[name] = (code * (repeat + 1))[:time]

    answer = ''
    music[answer] = '0'
    for name, code in music.items():
        if m in code and len(code) > len(music[answer]):
            answer = name
            
    return '(None)' if answer == '' else answer

이 문제 풀고 10점 받았다 ㅎㅎ

profile
어쩌다보니 tmi뿐인 블로그😎

0개의 댓글