# ๊ธฐ๋ฅ ๊ฐ๋ฐ # 42586๋ฒ # lv2 # ์คํ/ํ # Python
# ๋ฌธ์
ํ๋ก๊ทธ๋๋จธ์ค ํ์์๋ ๊ธฐ๋ฅ ๊ฐ์ ์์
์ ์ํ ์ค์
๋๋ค. ๊ฐ ๊ธฐ๋ฅ์ ์ง๋๊ฐ 100%์ผ ๋ ์๋น์ค์ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋, ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ์๋๋ ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค์ ์๋ ๊ธฐ๋ฅ์ด ์์ ์๋ ๊ธฐ๋ฅ๋ณด๋ค ๋จผ์ ๊ฐ๋ฐ๋ ์ ์๊ณ , ์ด๋ ๋ค์ ์๋ ๊ธฐ๋ฅ์ ์์ ์๋ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋ ๋ ํจ๊ป ๋ฐฐํฌ๋ฉ๋๋ค.
๋จผ์ ๋ฐฐํฌ๋์ด์ผ ํ๋ ์์๋๋ก ์์
์ ์ง๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด progresses์ ๊ฐ ์์
์ ๊ฐ๋ฐ ์๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด speeds๊ฐ ์ฃผ์ด์ง ๋ ๊ฐ ๋ฐฐํฌ๋ง๋ค ๋ช ๊ฐ์ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋๋์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
# ์ ํ์ฌํญ
- ์์ ์ ๊ฐ์(progresses, speeds๋ฐฐ์ด์ ๊ธธ์ด)๋ 100๊ฐ ์ดํ์ ๋๋ค.
- ์์ ์ง๋๋ 100 ๋ฏธ๋ง์ ์์ฐ์์ ๋๋ค.
- ์์ ์๋๋ 100 ์ดํ์ ์์ฐ์์ ๋๋ค.
- ๋ฐฐํฌ๋ ํ๋ฃจ์ ํ ๋ฒ๋ง ํ ์ ์์ผ๋ฉฐ, ํ๋ฃจ์ ๋์ ์ด๋ฃจ์ด์ง๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ง๋์จ์ด 95%์ธ ์์ ์ ๊ฐ๋ฐ ์๋๊ฐ ํ๋ฃจ์ 4%๋ผ๋ฉด ๋ฐฐํฌ๋ 2์ผ ๋ค์ ์ด๋ฃจ์ด์ง๋๋ค.
# ํ์ด
def solution(progresses, speeds):
# <์์ด๋์ด>
# progresses[์ธ๋ฑ์ค] += speed๊ฐ
# progresses[0] >= 100 -> pop(0) / count += 1 -> ๊ธฐ๋ฅ๊ฐ๋ฐ์ด ์๋ฃ๋ ๊ฒฝ์ฐ.
# ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ์๋ฃ๋ ๋ฆฌ์คํธ = [] -> append(count)
# ๋ฐฐํฌ๋ ๋ ์ง๋ ์๊ณ ์ ํ๋ค๋ฉด?? +1 ๋ count๊ฐ ํฌํจ๋ ๋ day๋ +1์ฉ ํ๊ธฐ.
# return new_list
# days = 0
day_list = [] # ๋ฐฐํฌ๋ ๋ ์ง
new_list = [] # ๊ฐ๋ฐ์ด ์๋ฃ๋ ๊ธฐ๋ฅ
while progresses: # progresses๊ฐ 0๋ณด๋ค ํด ๋
# days += 1
for idx, speed in enumerate(speeds): # speeds์ ์์๋ค์ ๊ฐ๊ฐ progresses์ ๊ธฐ๋ฅ๋ค์ ๋ํจ.
progresses[idx] += speed
count = 0 # ๊ฐ๋ฐ์ด ์๋ฃ๋ ๊ธฐ๋ฅ์ ๊ฐ์
while len(progresses) >= 1 and progresses[0] >= 100: # progresses์ ๊ธฐ๋ฅ์ด 100์ด ๋์ผ๋ฉด,
progresses.pop(0) # pop(0)์ผ๋ก ์ฒซ ๋ฒ์งธ ์์ ์ญ์
speeds.pop(0) # speed์ ์ฒซ ๋ฒ์งธ ์์๋ ์ญ์
count += 1 # ๊ฐ๋ฐ ์๋ฃ๋ ๊ธฐ๋ฅ +1
if count > 0:
new_list.append(count) # count๊ฐ 0 ์ด์์ด๋ฉด, count ๊ฐ์ ๋ค์ append.
# day_list.append(days) # ๋ฐฐํฌ๋ ๋ ์ง๋ append.
# print(day_list)
return new_list
Reference
https://jhklee-coder.tistory.com/69
์คํ๊ณผ ํ [์๋ฃ๊ตฌ์กฐ]
ํด๋น ๊ธ์ ํ๋ก๊ทธ๋๋จธ์ค [๊ณ ๋์ ์๊ณ ๋ฆฌ์ฆ kit. ์คํ/ํ - ๊ธฐ๋ฅ๊ฐ๋ฐ] ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ์คํ๊ณผ ํ ๊ฐ๋ ์ ๋ํด ์ ๋ฆฝํ ํ์๋ฅผ ๋๋ผ๊ณ ์ ๋ฆฌํ ๊ธ์ ๋๋ค!! ํด๋น ๋ฌธ์ ๊ฐ ๊ถ๊ธํ์๋ฉด ์๋ ์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธ
jhklee-coder.tistory.com