첫번째 코드
먼저 필요한 날로 구성된 리스트를 만들어야 한다.
이를 위해 (남은 날 // 속도)을 구한 후 나머지가 있는 경우 +1을 한다.
이제 값을 비교해가면서 현재 값보다 큰 값이 있지 않은 수를 순차적으로 더해간다.
마지막 값이 빠지지 않도록 포함한 후 결과를 만든다.
def solution(progresses, speeds):
answer = []
days = [0] * len(progresses)
count = 0
for i in range(len(progresses)):
progresses[i] = 100 - progresses[i]
for i in range(len(progresses)):
if (progresses[i] % speeds[i]) != 0:
days[i] = (progresses[i] // speeds[i]) + 1
else:
days[i] = (progresses[i] // speeds[i])
Max = days[0]
for i in days:
if i <= Max:
count += 1
else:
answer.append(count)
count = 1
Max = max(Max, i)
answer.append(count)
return answer
통과!
queue를 이용해서 풀려고 했는데, 해당 문자의 문자열은 길지 않으므로 리스트로 해도 충분하다!
링크