[Programmers] 기능개발

태환·2024년 3월 25일
0

Coding Test

목록 보기
148/151

📌 [Programmers] 기능개발

📖 문제

📖 예제

📖 풀이

def solution(progresses, speeds):
    answer = []
    cnt = 0
    time = 0
    while progresses:
        if progresses[0] + time * speeds[0] >= 100:
            progresses.pop(0)
            speeds.pop(0)
            cnt += 1
        else:
            if cnt > 0:
                answer.append(cnt)
                cnt = 0
            time += 1
    answer.append(cnt)
    return answer

progresses의 첫 번째 항이 100을 넘을 때 까지 time을 1씩 증가시킨다.
progresses의 첫 번째 항이 100을 넘을 경우 그 항을 제거해주고 cnt를 1 증가시킨다.
progresses의 첫 번째 항이 100이 넘지 않을 경우 증가한 값 만큼의 cnt를 answer에 추가한 후 cnt를 0으로 설정하고 앞의 과정을 반복한다.

profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글