Level 2. さっきの歌は
7502 ワード
さっきの歌は
コードテスト練習>2018 KAKAO BLIND RECRUITMENT>さっきの曲
https://programmers.co.kr/learn/courses/30/lessons/17683
問題の構想
入力
1)開始時間、開始時間、終了時間、終了時間を考慮するために、時間を整数形式に変換します.
2)求めた整数長は、要素の楽譜長よりも大きくなる可能性があるため、スライス
1)複数ある場合は、初期リストを(タイトル、長さ)に設定して再生時間が最も長い音楽を返し、ifcaseを設定します
2)
取得リストのタイトル値
問題を解く
#01
def transform(s):
while '#' in s:
s = s.replace(s[s.index('#')-1:s.index('#')+1],s[s.index('#')-1].lower())
return s
def solution(m,musicinfos):
m = transform(m)
#02
for music in musicinfos:
start,end,title,melody = music.split(',') # Devide musicinfo
#02-1
start_h,start_m,end_h,end_m = map(int,start.split(':')+end.split(':'))
time = 60*(end_h-start_h)+(end_m-start_m) # Calculate time
#02-2
melody = (transform(melody)*time)[:time] # Set melody according to time length and transform
#03
answer = ('(None)', None)
if m in melody:
if (answer[1] == None) or (time > answer[1]):
answer = (title, time)
#04
return answer[0]
# Code test
m = "CC#BCC#BCC#BCC#B"
musicinfos = ["03:00,03:30,FOO,CC#B", "04:00,04:08,BAR,CC#BCC#BCC#B"]
solution(m,musicinfos)
Reference
この問題について(Level 2. さっきの歌は), 我々は、より多くの情報をここで見つけました https://velog.io/@pear_min/Level-2.-방금-그곡テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol