Written by
최태열
on
on
[Python][프로그래머스][Level2] 기능개발
[Python][프로그래머스][Level2] 기능개발
코드
def solution(progresses, speeds):
answer = []
cnt=0
progresses.reverse()
speeds.reverse()
while progresses:
speed=speeds.pop()
a,b=divmod(100-progresses.pop()-cnt*speed,speed)
cnt+=a if b==0 else a+1
answer.append(1)
while progresses and progresses[-1]+cnt*speeds[-1]>=100:
progresses.pop()
speeds.pop()
answer[-1]+=1
return answer
첫 번째 기능부터 수행하기 때문에 pop을 위해서 reverse해줬다.
첫 번째 기능이 걸리는 시간을 계산해 cnt에 더한다.
다음 기능들이 순서대로 cnt 보다 적은 시간에 완료가 된다면
해당 기능을 pop하고 배포수를 늘린다.
이 과정을 progresses가 모두 배포될 때 까지 반복한다.
Discussion and feedback