https://school.programmers.co.kr/learn/courses/30/lessons/42586
๋ฌธ์ ์ค๋ช
ํ๋ก๊ทธ๋๋จธ์ค ํ์์๋ ๊ธฐ๋ฅ ๊ฐ์ ์์ ์ ์ํ ์ค์ ๋๋ค. ๊ฐ ๊ธฐ๋ฅ์ ์ง๋๊ฐ 100%์ผ ๋ ์๋น์ค์ ๋ฐ์ํ ์ ์์ต๋๋ค.๋, ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ์๋๋ ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค์ ์๋ ๊ธฐ๋ฅ์ด ์์ ์๋ ๊ธฐ๋ฅ๋ณด๋ค ๋จผ์ ๊ฐ๋ฐ๋ ์ ์๊ณ , ์ด๋ ๋ค์ ์๋ ๊ธฐ๋ฅ์ ์์ ์๋ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋ ๋ ํจ๊ป ๋ฐฐํฌ๋ฉ๋๋ค.
๋จผ์ ๋ฐฐํฌ๋์ด์ผ ํ๋ ์์๋๋ก ์์ ์ ์ง๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด progresses์ ๊ฐ ์์ ์ ๊ฐ๋ฐ ์๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด speeds๊ฐ ์ฃผ์ด์ง ๋ ๊ฐ ๋ฐฐํฌ๋ง๋ค ๋ช ๊ฐ์ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋๋์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
import math
def solution(progresses, speeds):
answer = []
now = 0
for i in range(len(progresses)):
progresses[i] = math.ceil((100 - progresses[i])/speeds[i])
for i in progresses:
if i > now:
answer.append(1)
now = i
else:
answer[-1] += 1
return answer
์์ ์ ๊ฐ์์ ์์ ์๋์ ๋ฐฐ์ด ์๊ฐ ๋์ผํ ์ ๋ ฅ๊ฐ์ผ๋ก ์ฃผ์ด์ง๋ฏ๋ก, progresses์ ๋ฐฐํฌ๊ฐ ํ์ํ ์ผ์๋ฅผ ๊ณ์ฐํ ๊ฐ์ผ๋ก ๋ฐํํ๋ค.
for๋ฌธ์ผ๋ก progress๋ฅผ ๋๋ฉด์ ํ์ฌ ํฌ๊ธฐ์ ๋ค์ ํฌ๊ธฐ๋ฅผ ๋น๊ตํ๋ฉด์ progresses๊ฐ ๋ ์์ ์๊ฐ ์ค๊ฒ ๋๋ค๋ฉด ๋ง์ง๋ง ๋ฐฐ์ด์ ์๋ฅผ 1 ์ฆ๊ฐํ๋ค.