DevYoon
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๋ฐฐ ๋ฐฐ๋ฌ๊ณผ ์๊ฑฐํ๊ธฐ (Python) ๋ณธ๋ฌธ
link ๐ https://school.programmers.co.kr/learn/courses/30/lessons/150369
๐ฅ ๊ฐ์ด ์ ์ค์ง ์์์ ์กฐ๊ธ ํค๋งธ๋ ๋ฌธ์ ใ ใ ๋ค๋ฅธ ๋ถ๋ค์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ดํดํด๋ณด๊ณ , ์ง์ ์์ฑํด๋ณด๋ ์์ผ๋ก ๊ณต๋ถํ์๋ค.
๐ฅ ๊ธฐ์ตํด์ผ ํ ํฌ์ธํธ โก๏ธ ์ต๋จ ๊ฑฐ๋ฆฌ๋ก ๋ค๋ ์ค๋ ค๋ฉด ์ ์ผ ๋จผ ๊ณณ๋ถํฐ ๋ค๋ ์์ผ ํ๋ค!
def solution(cap, n, deliveries, pickups):
answer = 0
# ๋ฐฐ๋ฌ๊ณผ ์๊ฑฐ ๊ฐ๋ฅ ๊ณต๊ฐ
d, p = 0, 0
for idx in range(n-1, -1, -1):
# ํด๋น ์ง์์ ๋ฐฐ๋ฌ๊ณผ ์๊ฑฐ ์คํ
d += deliveries[idx]
p += pickups[idx]
while d > 0 or p > 0:
# d๋ p๊ฐ ์์๋ผ๋ฉด => ์ฌ์ ๊ณต๊ฐ ์์ => ์ฐฝ๊ณ ๋ค๋ ธ๋ค ์์ผ ํจ
# d๋ p๊ฐ ์์๊ฐ ๋ ๋๊น์ง => ์ฌ์ ๊ณต๊ฐ์ด ์๊ธธ ๋๊น์ง ์๋ค๊ฐ๋ค
d -= cap
p -= cap
answer += (idx+1)*2
return answer