문제풀이/기타

[파이썬] [스택/큐] Pro 기능개발

승무_ 2022. 2. 11. 06:58

문제

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

 

코딩테스트 연습 - 기능개발

프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는

programmers.co.kr

 

코드

def solution(progresses, speeds):
    result=[]
    # progresses의 배열의 빌 때 까지 while문을 반복
    while 1:
        count = 0
        # 배열의 첫번 째 요소가 100미만이면
        while progresses[0]<100:
            # 전체 배열을 순회하면서 각각의 속도만큼 더함
            for i in range(len(progresses)):
                progresses[i]+=speeds[i]
        # 전체 배열을 순회하면서 연속적으로 100이 넘는 인덱스까지 count를 증가시키고
        for i in range(len(progresses)):
            if progresses[i]>=100:
                count+=1
            else:
                break
        del progresses[:count]
        del speeds[:count]
        # 해당 count는 각 배포마다 몇개의 기능이 배포 되었는지를 나타내므로 result배열에 넣음
        result.append(count)
        if len(progresses)==0:
            break
    return result

 

생각 정리

[40, 93, 30, 55, 60, 65]
[60, 1, 30, 5 , 10, 7]
[1, 2, 3]

이 반례를 못찾아 고생했다.