https://programmers.co.kr/learn/courses/30/parts/12081
[λ¬Έμ ]
νλ‘κ·Έλλ¨Έμ€ νμμλ κΈ°λ₯ κ°μ μμ μ μν μ€μ λλ€. κ° κΈ°λ₯μ μ§λκ° 100%μΌ λ μλΉμ€μ λ°μν μ μμ΅λλ€.
λ, κ° κΈ°λ₯μ κ°λ°μλλ λͺ¨λ λ€λ₯΄κΈ° λλ¬Έμ λ€μ μλ κΈ°λ₯μ΄ μμ μλ κΈ°λ₯λ³΄λ€ λ¨Όμ κ°λ°λ μ μκ³ , μ΄λ λ€μ μλ κΈ°λ₯μ μμ μλ κΈ°λ₯μ΄ λ°°ν¬λ λ ν¨κ» λ°°ν¬λ©λλ€.
λ¨Όμ λ°°ν¬λμ΄μΌ νλ μμλλ‘ μμ μ μ§λκ° μ ν μ μ λ°°μ΄ progressesμ κ° μμ μ κ°λ° μλκ° μ ν μ μ λ°°μ΄ speedsκ° μ£Όμ΄μ§ λ κ° λ°°ν¬λ§λ€ λͺ κ°μ κΈ°λ₯μ΄ λ°°ν¬λλμ§λ₯Ό return νλλ‘ solution ν¨μλ₯Ό μμ±νμΈμ.
[μ νμ¬ν]
- μμ μ κ°μ(progresses, speedsλ°°μ΄μ κΈΈμ΄)λ 100κ° μ΄νμ λλ€.
- μμ μ§λλ 100 λ―Έλ§μ μμ°μμ λλ€.
- μμ μλλ 100 μ΄νμ μμ°μμ λλ€.
- λ°°ν¬λ ν루μ ν λ²λ§ ν μ μμΌλ©°, ν루μ λμ μ΄λ£¨μ΄μ§λ€κ³ κ°μ ν©λλ€. μλ₯Ό λ€μ΄ μ§λμ¨μ΄ 95%μΈ μμ μ κ°λ° μλκ° ν루μ 4%λΌλ©΄ λ°°ν¬λ 2μΌ λ€μ μ΄λ£¨μ΄μ§λλ€.
[μμ μ€λͺ 1λ²]
첫 λ²μ§Έ κΈ°λ₯μ 93% μλ£λμ΄ μκ³ ν루μ 1%μ© μμ
μ΄ κ°λ₯νλ―λ‘ 7μΌκ° μμ
ν λ°°ν¬κ° κ°λ₯ν©λλ€.
λ λ²μ§Έ κΈ°λ₯μ 30%κ° μλ£λμ΄ μκ³ ν루μ 30%μ© μμ
μ΄ κ°λ₯νλ―λ‘ 3μΌκ° μμ
ν λ°°ν¬κ° κ°λ₯ν©λλ€. νμ§λ§ μ΄μ 첫 λ²μ§Έ κΈ°λ₯μ΄ μμ§ μμ±λ μνκ° μλκΈ° λλ¬Έμ 첫 λ²μ§Έ κΈ°λ₯μ΄ λ°°ν¬λλ 7μΌμ§Έ λ°°ν¬λ©λλ€.
μΈ λ²μ§Έ κΈ°λ₯μ 55%κ° μλ£λμ΄ μκ³ ν루μ 5%μ© μμ
μ΄ κ°λ₯νλ―λ‘ 9μΌκ° μμ
ν λ°°ν¬κ° κ°λ₯ν©λλ€.
λ°λΌμ 7μΌμ§Έμ 2κ°μ κΈ°λ₯, 9μΌμ§Έμ 1κ°μ κΈ°λ₯μ΄ λ°°ν¬λ©λλ€.
μ€νμ΄λ νλ₯Ό μ¬μ©νλ λ¬Έμ μ¬μ κ·Έλ₯ appendλ popλ§μ μ΄μ©ν΄μ νλ©΄ μλλ μ€ μκ³ κ΅μ₯ν...볡μ‘νκ² νμλ€γ γ
dequeλ queue λ΄μ₯ν¨μλ₯Ό μ¬μ©νκΈ΄ νμ§λ§, μ 체μ μΈ μνμκ°μ΄ O(n^2)μΈ κ² κ°μμ μμ½λ€.
λ μ΄μ¬ν 곡λΆν΄μ μνμκ° μ€μ΄κ³ , κ°κ²°ν μκ³ λ¦¬μ¦μΌλ‘ μμ±ν΄λ³΄λλ‘ λ Έλ ₯ν΄μΌκ² λ€!
from collections import deque
import queue
def solution(progresses, speeds):
answer = []
Q = queue.Queue()
for i in range(len(speeds)):
count = 0
dq = deque()
dq.append(speeds[i])
dq.append(progresses[i])
while(dq[-1] < 100):
temp = dq.popleft()
dq.append(temp)
dq.append(dq.popleft() + temp)
count += 1
Q.put(count)
max = Q.get()
num = 1
print(Q.qsize())
for i in range(Q.qsize()):
tmp = Q.get()
if max >= tmp:
num += 1
else:
max = tmp
answer.append(num)
num = 1
if Q.qsize() == 0: answer.append(num)
return answer
'Algorithm > PROGRAMMERS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νλ‘κ·Έλλ¨Έμ€ "μμ£Όνμ§ λͺ»ν μ μ" [μκ³ λ¦¬μ¦/ν΄μ¬/μ½λ©ν μ€νΈ μ°μ΅/νμ΄μ¬(python)] (0) | 2021.07.12 |
---|