๐ก Python 3
๊ธฐ๋ฅ๊ฐ๋ฐ [Link]
def solution(progresses, speeds):
from math import ceil
answer = []
days = [ceil((100 - p)/speeds[i]) for i, p in enumerate(progresses)]
for i, d in enumerate(days):
if i == 0: cur, count = d, 1
elif cur >= d: count += 1
else:
answer.append(count)
count, cur = 1, d
if i + 1 == len(days): answer.append(count)
return answer
ceil
์ ์ฌ์ฉํ์ง ์์ผ๋ฉด์zip
ํจ์๋ฅผ ํตํด ํจ์จ์ ๋์ธ ์ฝ๋
def solution(progresses, speeds):
Q=[]
for p, s in zip(progresses, speeds):
if len(Q)==0 or Q[-1][0]<-((p-100)//s):
Q.append([-((p-100)//s),1])
else:
Q[-1][1]+=1
return [q[1] for q in Q]
๊ฐ์ธ์ ์ผ๋ก ์ง๊ด์ ์ผ๋ก ์ดํดํ๊ธฐ ์ข์๋ ์ฝ๋
def solution(progresses, speeds):
answer = []
time = 0
count = 0
while len(progresses)> 0:
if (progresses[0] + time*speeds[0]) >= 100:
progresses.pop(0)
speeds.pop(0)
count += 1
else:
if count > 0:
answer.append(count)
count = 0
time += 1
answer.append(count)
return answer