プログラマ-機能開発


テキスト


質問する



sol


1.進捗ごとに1週間の日数を選択します(残りの日数がある場合はd-day+1)
2.queueで比較
3.for文はリストを操作できないので、while文を使いましょう.

code

from collections import deque
def solution(progresses, speeds):
    days =deque()
    count = 0
    answer = []
    for i in range(len(progresses)):
        tmp = (100-progresses[i]) /speeds[i]
        if tmp != int(tmp):
            tmp += 1
        days.append(int(tmp))    
    while days:
        tmp = days[0]
        count = 0
        while days:
            #print(tmp , days[0])
            if tmp >= days[0]:
                count += 1
                days.popleft()
            else:
                break
        answer.append(count)
    return(answer)