νλ‘κ·Έλλ¨Έμ€ νμμλ κΈ°λ₯ κ°μ μμ μ μν μ€μ΄λ€. κ° κΈ°λ₯μ μ§λκ° 100%μΌ λ μλΉμ€μ λ°μν μ μλ€. λ, κ° κΈ°λ₯μ κ°λ°μλλ λͺ¨λ λ€λ₯΄κΈ° λλ¬Έμ λ€μ μλ κΈ°λ₯μ΄ μμ μλ κΈ°λ₯λ³΄λ€ λ¨Όμ κ°λ°λ μ μκ³ , μ΄λ λ€μ μλ κΈ°λ₯μ μμ μλ κΈ°λ₯μ΄ λ°°ν¬λ λ ν¨κ» λ°°ν¬λλ€. λ¨Όμ λ°°ν¬λμ΄μΌ νλ μμλλ‘ μμ μ μ§λκ° μ ν μ μ λ°°μ΄ progressesμ κ° μμ μ κ°λ° μλκ° μ ν μ μ λ°°μ΄ speedsκ° μ£Όμ΄μ§ λ κ° λ°°ν¬λ§λ€ λͺ κ°μ κΈ°λ₯μ΄ λ°°ν¬λλμ§λ₯Ό return νλλ‘ ν¨μλ₯Ό μμ±νλΌ.
progresses
)λ 100κ° μ΄νμ΄λ€.def dev_func(progresses, speeds):
max_day = 0
result = [1]
for idx, progress in enumerate(progresses):
work = 100 - progress
day = math.ceil(work / speeds[idx])
if not idx:
max_day = day
else:
if day <= max_day:
result[-1] += 1
else:
result.append(1)
max_day = day
return result
Level 2λΆν°λ νμ€ν λ¬Έμ λ₯Ό μ΄ν΄νλ κ²λΆν° λκ΄μ΄λ€..
μ°¨κ·Όμ°¨κ·Ό μ΄ν΄λ₯Ό ν΄λ³΄μλ©΄, μλ₯Ό λ€μ΄ [93, 30, 55], [1, 30, 5]
κ° μ
λ ₯μΌλ‘ λ€μ΄μμ κ²½μ° μ²« λ²μ§Έ μμ
μ 93% μλ£ λμμΌλ―λ‘ 7%κ° λ¨μλ€.
μ΄ μμ
μ κ°λ° μλλ 1%μ΄λ―λ‘ μ΄ μμ
μ μλ£νλ λ°κΉμ§ 7μΌμ΄ κ±Έλ¦°λ€.
μ΄ λ 7
μ max_day
μ λ£μ΄μ€λ€.
κ·Έ λ€μ μμ
μ ν΄λΉ μμ
κ³Ό ν¨κ» λ°°ν¬ν μλ μκΈ° λλ¬Έμ΄λ€.
첫 λ²μ§Έ μμ
λ¬Όμ μ΄μ°λλ μ²μμΌλ‘ μμ
μ μλ£νλ―λ‘ result
리μ€νΈμ 첫 λ²μ§Έ μΈλ±μ€λ₯Ό 1
λ‘ μ΄κΈ°ννλ€.
λ λ²μ§Έ μμ
λ¬Όμ 30% μλ£λμμΌλ―λ‘ 70%κ° λ¨μκ³ μΌμΌ κ°λ° μλλ 30%μ΄λ€.
μλ£νκΈ°κΉμ§λ μ΄ 3μΌμ΄ κ±Έλ¦°λ€.
νμ§λ§ κ·Έ μ μμ
μ μλ£νκΈ°κΉμ§ 7μΌμ΄ 걸리λ―λ‘ μ²« λ²μ§Έ μμ
κ³Ό λ λ²μ§Έ μμ
μ λμμ λ°°ν¬λλ€.
κ·Έλ¬λ―λ‘ result
μ 첫 λ²μ§Έ μΈλ±μ€μ 1
μ μ¦κ°μν¨λ€.
μΈ λ²μ§Έ μμ
λ¬Όμ 55%κ° μλ£λ μνμ΄λ―λ‘ 45%κ° λ¨μκ³ μμ
μλκ° 5%μ΄λ―λ‘ μ΄ 9μΌμ΄ κ±Έλ¦°λ€.
9μΌμ 7μΌλ³΄λ€ ν¬λ―λ‘ μ΄μ μ μμ
λ€κ³Ό ν¨κ» λ°°ν¬νμ§ λͺ»νλ€.
κ·Έλ¬λ―λ‘ result
μ μλ‘μ΄ μΈλ±μ€λ₯Ό μΆκ°ν΄μ£Όμ΄μΌ νλ©°, max_day
λ 9
λ‘ λ³νκ² λλ€.
def dev_func(progresses, speeds):
Q=[]
for p, s in zip(progresses, speeds):
if len(Q)==0 or Q[-1][0]<-((p-100)//s):
Q.append([-((p-100)//s),1])
else:
Q[-1][1]+=1
return [q[1] for q in Q]
λλ λ 리μ€νΈμ λμΌν μΈλ±μ€λ₯Ό μ κ·ΌνκΈ°μν΄ enumerate()
λ₯Ό μ¬μ©νλλ°, μ΄ λΆμ zip()
μ μ¬μ©ν΄μ κ°νΈνκ² νμ΄λλ€.
zip()
ν¨μλ λ€μκ³Ό κ°μ΄ λμΌν κ°μλ‘ μ΄λ£¨μ΄μ§ μλ£νμ λ¬Άμ΄μ€λ€.
>>> list(zip([1, 2, 3], [4, 5, 6]))
[(1, 4), (2, 5), (3, 6)]
>>> list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9]))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
>>> list(zip("abc", "def"))
[('a', 'd'), ('b', 'e'), ('c', 'f')]
μ΄μΈμ μ½λλ€μ λΉμ·ν λ°©λ²μ΄μ§λ§ ν¨μ¬ κ°κ²°νκ² νμ΄λ΄μ ¨λ€ γ γ
μ΄λ° μ½λλ₯Ό λ³Ό λλ§λ€ κ°ννλ©΄μλ μ’μ μκ·Ήμ΄ λλ€.