Notice
Recent Posts
Recent Comments
Link
DevKim
[Python] 2018 카카오 BLIND RECRUITMENT - 방금 그 곡 본문
728x90
programmers.co.kr/learn/courses/30/lessons/17683
[ 알고리즘 ]
구현
[문제 접근]
#을 어떻게 처리하느냐가 이 문제의 핵심이다.
처음엔 #이 뒤에올때, 안 올때를 나눠서 풀까.. 생각했지만, 너무 번거로울 것 같아서 고민하다가
소문자로 변환해서 풀면 쉬울 것 같아서 모조리 소문자로 바꿨다.
문제를 처음에 제목 길이가 긴 순서를 우선순위로 놓고 풀어라 라고 잘못 읽어서 이상한 오류다.. 생각하고 있었다(하^^)
조건에 맞게 차례대로 구현해주고,
그냥 차례대로 비교해주면 처음에 sorting할 필요는 없을 것 같고 마지막에 time을 기준으로 sorting 해주면된다.
[코드]
def change(s):
s=s.replace('C#','c')
s=s.replace('D#','d')
s=s.replace('F#','f')
s=s.replace('G#','g')
s=s.replace('A#','a')
return s
def solution(m, musicinfos):
answer = ''
result=[]
m=change(m)
for i in range(len(musicinfos)):
start,end,name,melody=musicinfos[i].split(',')
melody=change(melody)
song=''
s=start.split(':')
e=end.split(':')
time=(int(e[0])*60+int(e[1]))-(int(s[0])*60+int(s[1]))
n=len(melody)
a=time//n
b=time%n
song=melody*a+melody[:b]
if m in song:
result.append([name,time])
if len(result)==0:
answer="(None)"
else:
result=sorted(result,key=lambda x:-x[1])
answer=result[0][0]
return answer
728x90
'알고리즘 PS' 카테고리의 다른 글
[Python] 프로그래머스 Lv.02 - 배달 (0) | 2021.03.03 |
---|---|
[Python] 프로그래머스 Lv.02 - 게임 맵 최단거리 (0) | 2021.03.03 |
[Python] 2019 카카오 BLIND RECRUITMENT - 오픈 채팅방 (0) | 2021.02.24 |
[Python] 2018 카카오 BLIND RECRUITMENT- 뉴스 클러스터링 (0) | 2021.02.24 |
[Python] 2018 카카오 BLIND RECRUITMENT - 파일명 정렬 (0) | 2021.02.22 |
Comments