카테고리 없음

[프로그래머스] 기능개발

이뮨01 2023. 7. 7. 16:29

Python

def solution(progresses, speeds):
    d_day = [] # 5 10 1 1 20 1
    cnt = 0
    biggest = 0
    answer = []

    len_list = len(speeds) # 3

    for i in range(len_list):
        if (100 - progresses[i]) % speeds[i] != 0:
            left_pro = (100 - progresses[i]) // speeds[i] + 1
            d_day.append(left_pro)
        else:
            left_pro = (100 - progresses[i]) // speeds[i]
            d_day.append(left_pro)

    biggest = d_day[0]

    for i in range(len_list): # 0 1 2
        if biggest >= d_day[i]:
            cnt += 1
            if i == len_list - 1:
                answer.append(cnt)
        elif biggest < d_day[i]:
            answer.append(cnt)
            biggest = d_day[i]
            cnt = 1
            if i == len_list - 1:
                answer.append(cnt)
    return answer

배포까지 남은 일수가 담겨있는 리스트의 마지막 요소를 처리하는 부분에서 어려움을 겪었다.

그 문제를 if와 elif안에 있는 if로 마지막 요소일 때는 cnt를 처리하게 만들었다.