걸린시간 : 25분
문제 난이도 : 하
주석 : 코드를 짜고 한 번에 통과가 돼서 신기했다.
역시 코드를 짜기 전에 코드 검증시간이 길어야 한다.
progress = [90,95,98,1]
speeds = [1,5,1,99]
이런식으로 progress 와 speeds 배열이 주어진다.
각 speeds는 각 progress가 진행되는 속도를 의미한다.
100이 되면 해당 progress가 완료되는 것인데, 순서상 뒤의 것은 앞의 것이 완료될 때까지 배포되지 못한다.
위의 예에서는 return value가
[2,2]
가 나와야 한다.
progress에 speeds를 각 loop마다 더한다.
해당 index가 100이 될 경우,
뒤에 100이 넘는 애들의 숫자를 세주고, 100이 안되는 놈으로 이동해준다.
만약 index가 loop의 길이를 넘는 경우 멈춘다.
# 21.07.18
def solution(progresses, speeds):
index = 0
length = len(progresses)
result = []
while index<length:
count = 1
for i in range(length):
progresses[i] += speeds[i]
if progresses[index] >=100:
index +=1
while index<length and progresses[index]>=100:
index+=1
count+=1
result.append(count)
return result
solution([95, 90, 99, 99, 80, 99],[1, 1, 1, 1, 1, 1])