|
์ฝ๋ ์์ฑํ๊ธฐ
from collections import deque
import math
def solution(progresses, speeds):
answer = []
queue = deque(progresses)
cnt = 0
idx = 0
day = math.ceil((100-progresses[0])/speeds[0])
while queue:
now = queue.popleft()
wd = math.ceil((100-now)/speeds[idx])
if wd <= day:
cnt += 1
else:
answer.append(cnt)
cnt = 1
day = wd
idx += 1
answer.append(cnt)
return answer
Java
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
1.
๊ฐ ๊ธฐ๋ฅ์ ํ๋์ฉ ๊ฐ์ ธ์์ ๊ฐ๋ฐํ๋๋ฐ ์ผ๋ง๋ ๊ฑธ๋ฆฌ๋ ์ง (wd) ๊ตฌํ๋ค.
a.
์ด์ ์ ๊บผ๋๋ ๊ฒ๋ณด๋ค ์์ผ๋ฉด ๊ฐ์ด ๋ฐฐํฌ๋ฅผ ํ ์ ์์ผ๋ฏ๋ก cnt๋ฅผ 1์ฌ๋ฆฐ๋ค.
b.
๋ ํฌ๋ฉด ๋ค์ ๋ฐฐํฌ์ ํฌํจ๋๋ฏ๋ก ์์ cnt๋ฅผ answer์ ์ถ๊ฐํ๊ณ , ์์
๋ ์ง๋ฅผ ์ด๊ธฐํํ๋ค.
2.
speed๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํ idx๋ฅผ 1 ๋๋ฆฐ๋ค.
3.
์ฌ์ค idx๋ฅผ ์ธ๊ฑฐ๋ฉด deque๋ฅผ ์ฌ์ฉํ์ง ์์์ด๋ ๋์์ ๊ฒ ๊ฐ๋ค.