1. λ¬Έμ μ€λͺ
λ¬Έμ λ§ν¬
- λ€μ€κ° λ€μ μμ
μ μ λ³΄κ° μ£Όμ΄μ§ λ, μμ
μ μ λͺ©μ ꡬνκΈ°
- κ° μμ 1λΆμ 1κ°μ© μ¬μ
- μ‘°κ±΄μ΄ μΌμΉνλ μμ
μ΄ μ¬λ¬ κ°μΌ λμλ → μ¬μλ μκ°μ΄ μ μΌ κΈ΄ μμ
μ λͺ©μ λ°ν
- μ¬μλ μκ°λ κ°μ κ²½μ° → λ¨Όμ μ
λ ₯λ μμ
μ λͺ©μ λ°ν
- μ‘°κ±΄μ΄ μΌμΉνλ μμ
μ΄ μμ λμλ “(None)”μ λ°ν
- μ
λ ₯
- m : λ€μ€κ° κΈ°μ΅ν λ©λ‘λλ₯Ό λ΄μ λ¬Έμμ΄
- musicinfos : λ°©μ‘λ 곑μ μ 보λ₯Ό λ΄κ³ μλ λ°°μ΄(μμ
μ΄ μμν μκ°, λλ μκ°, μμ
μ λͺ©, μ
보 μ 보)
- μΆλ ₯
- return : μ€μ λ‘ λ€μ μμ
μ μ λͺ©
2. μ½λ
def replace_code(str):
str = str.replace("C#","c")
str = str.replace("D#","d")
str = str.replace("E#","e")
str = str.replace("F#","f")
str = str.replace("G#","g")
str = str.replace("A#","a")
return str
def play_time(start_time,end_time): #μ¬μμκ° κ³μ°νλ ν¨μ
start = start_time.split(":")
end = end_time.split(":")
play_time = 0
play_time = (int(end[0]) - int(start[0])) * 60 + int(end[1]) - int(start[1])
return play_time
#
def make_played_music_code(playtime, code):#μ¬μλ μ½λ ꡬνκΈ°
if len(code) > playtime: #μ½λκΈΈμ΄ > μκ°
code = code[:playtime]
else: #μ½λκΈΈμ΄ < μκ°
#μκ°(14) - μ£Όμ΄μ§ μ½λκΈΈμ΄(7) = 7 -> μ½λ[:7]
q,r = divmod(playtime,len(code))
code = code*q + code[:r]
return code
def solution(m, musicinfos):
music_dic = {}
replaced_code = ""
time = 0
for _, music in enumerate(musicinfos):
info = music.split(",")
replaced_code = replace_code(info[3])
time = play_time(info[0],info[1]) #play time ꡬνκΈ°
music_dic[info[2]] = make_played_music_code(time,replaced_code) #곑μ΄λ¦, μ¬μλ μ½λ
answer = {}
for key,item in music_dic.items():
if replace_code(m) in item:
answer[key] = len(item)
if answer == {}:
return "(None)"
elif len(answer.keys()) ==1:
for key in answer.keys():
return key
else:
return max(answer,key=answer.get)
3. μ΄λ €μ λ μ
μ‘°κ±΄μ΄ μΌμΉνλ μμ
μ΄ μ¬λ¬ κ°μΌ λμλ λΌλμ€μμ μ¬μλ μκ°μ΄ μ μΌ κΈ΄ μμ
μ λͺ©μ λ°ννλ€. μ¬μλ μκ°λ κ°μ κ²½μ° λ¨Όμ μ
λ ₯λ μμ
μ λͺ©μ λ°ννλ€.
μ‘°κ±΄μ΄ μΌμΉνλ μμ
μ΄ μμ λμλ “(None)”μ λ°ννλ€.
- μμ 쑰건λ€μ μ΄λ°μ λμΉκ³ λ€λ₯Έ ν
μ€νΈ μΌμ΄μ€μμ μλ¬κ° λ¬μλλ°, λ€μλΆν°λ λμΉ μ‘°κ±΄λ€μ΄ μλμ§ νμΈν΄μΌκ² λ€.
- λμ
λ리μμ κ°μ₯ ν° valueλ₯Ό κ°μ§ key κ°μ μ°Ύμ λλ μλ μ½λλ₯Ό μ¬μ©νλ©΄ λλ€.getν¨μλ μ μΈλ dictμμ μΆλ ₯νκ³ μ νλ keyκ° μμΌλ©΄, κ·Έμ ν΄λΉνλ valueλ₯Ό μΆλ ₯ν΄μ€
max(answer,key=answer.get)
- μ¬μλ μ
보μ 보 ꡬν λ 쑰건 : μ½λκΈΈμ΄κ° μ¬μμκ°λ³΄λ€ κΈΈλ©΄, μ½λκΈΈμ΄λ₯Ό μ¬μμκ°λ§νΌ μ€μ΄κ³ , μ½λκΈΈμ΄κ° μ¬μμκ°λ³΄λ€ 짧μΌλ©΄ μ¬μμκ°μ λ§μΆ° λ°λ³΅νλ€.