코딩 테스트/Level 2
49. [3차] 방금 그 곡
컴닥
2020. 9. 2. 20:31
반응형
[3차] 방금 그 곡
2018 KAKAO BLIND RECRUITMENT
1069명 완료
레벨2 수준에 적당한 문제..
#을 어떻게 처리하는 게 가장 좋을지 생각해보시면 좋겠네요.
리스트로 ['C#', 'C'] 이런 식으로 하나의 엘리먼트로 코딩하셔도 좋고.
저는 C#을 소문자 c로 치환해서 풀었는데 이 방법도 꽤 간편합니다.
https://programmers.co.kr/learn/courses/30/lessons/17683
코딩테스트 연습 - [3차] 방금그곡
방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, ��
programmers.co.kr
def solution(m, musicinfos):
temp = []
for each in musicinfos:
time1, time2, name, score = each.split(',')
time = time_split(time2) - time_split(time1)
score = score_parse(score, time)
m = score_parse(m)
if m in score:
temp.append((name, time))
if not temp:
return '(None)'
return sorted(temp, key=lambda x: -x[1])[0][0]
def score_parse(score, time=0):
score_list = []
for note in score:
if note == '#':
score_list[-1] = score_list[-1].lower()
else:
score_list.append(note)
if time != 0:
while len(score_list) < time:
score_list.extend(score_list[:])
score_list = score_list[:time]
return "".join(score_list)
def time_split(n):
temp = n.split(':')
return int(temp[0]) * 60 + int(temp[1])
파이썬 유저들은 None라는 표현에 익숙하실 텐데요..
문제를 보면 리턴을'(None)'으로 하라고..
반응형