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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제해결을 위한 과정

이 문제는 각 배열을 조회하면서 해당하는 speeds를 더해주면 됩니다. 그 후 100이 넘는지 확인한 뒤(작업 완료) 완료된 작업만큼을 꺼내주면 되는 문제입니다. 단 이때 해당하는 인덱스의 speeds도 꺼내줘야 합니다. 소스코드는 다음과 같습니다.


소스코드
def solution(progresses, speeds):
    answer = []
    while True:
        if len(progresses) == 0:
            break
        for i in range(len(progresses)):
            progresses[i] += speeds[i]
        cnt = 0
        for i in range(len(progresses)):
            if progresses[i] >= 100:
                cnt += 1
            else:
                break
        for i in range(cnt):
            progresses.pop(0)
            speeds.pop(0)
        if cnt > 0:
            answer.append(cnt)
    return answer

+ Recent posts