Programmers : ๊ธฐ๋ฅ๊ฐ๋ฐ
๐ Programmers : ๊ธฐ๋ฅ๊ฐ๋ฐ
progresses ๋ฆฌ์คํธ๋ฅผ ์์์๋ถํฐ ์ํํ๋ฉด ๋๋ ๋ฌธ์ ์ด๋ค.
์ง๋์จ์ด 100์ด๋ฉด ๋์ด๋ฏ๋ก, progresses์ ์์๋ฅผ ํ๋์ฉ ๋ณผ ๋๋ง๋ค 100์์ ๋บ ๊ฐ์ ๊ทธ ์์ ์ ์งํ์๋๋ก ๋๋๋ฉด ๋ฉฐ์น (days)์ ์์ ํ๋ ์ง ์ ์ ์๋ค.
์์ ์ผ ๋งํผ ๋ค์ ๊ฐ๋ค๋ ์๋ ๊ฐ(progresses[i]) + speeds[i]*days ํด์ค๋ค.
์ด ์์ ์ ๋ฆฌ์คํธ์ ์์ ์ ๋งํผ ๋ฐ๋ณตํ๋ฉด ๋์ด๋ค.
๐ ์ฝ๋
from math import ceil
from collections import deque
def solution(progresses, speeds):
answer = []
progresses = deque(progresses)
speeds = deque(speeds)
cnt = 1
while progresses:
p = progresses.popleft()
s = speeds.popleft()
if p >= 100:
cnt += 1
else:
answer.append(cnt)
cnt = 1
n = ceil((100-p)/s)
for i in range(len(speeds)):
progresses[i] += speeds[i]*n
answer.append(cnt)
return answer[1:]
์์ ์ ํต์ผ์ฑ์ ์ฃผ๊ธฐ ์ํด ์ฒ์ ํ์ธํ ๋๋ answer์ ๊ฐ์ ๋ฃ์ด์ฃผ์๊ณ , answer์ returnํ ๋๋ ์ธ๋ฑ์ค๋ฅผ 1๋ถํฐ ์์ํ์ฌ ๋ฐํํ๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ