[Level2] 기능개발

Quesuemon·2021년 3월 25일
0

코딩테스트 준비

목록 보기
5/111

🛠 문제

https://programmers.co.kr/learn/courses/30/lessons/42586


👩🏻‍💻 해결 방법

progresses[0]이 100 이상일 경우 pop(0)를 통해 100 이상인 모든 원소를 pop 해주며 배포될 기능의 개수를 count에 더했다
만약 progresses[0]가 100이 아닐 경우, else 조건문으로 들어가게 되고 count의 값이 0 이상이었으면 answer에 count를 추가하고, 아니면 time을 1초 늘려 주었다
마지막 while문을 돌았을 때 else문에 들어가는 경우가 없으므로 while문 밖에서 answer에 count를 추가해주었다

소스 코드

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

0개의 댓글