-
49. [3차] 방금 그 곡코딩 테스트/Level 2 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
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)'으로 하라고..반응형