코딩테스트/💯프로그래머스 코딩테스트 연습

프로그래머스 고득점 kit_ 기능개발

1son 2022. 11. 17. 09:30

문제 설명 ( •̀ ω •́ )✧

 

 

입출력 예

 

해당 블로그를 참고하여 코드를 작성했다.

https://happy-obok.tistory.com/38

 

[프로그래머스] 기능 개발 문제 풀이 (파이썬/ 큐)

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

happy-obok.tistory.com

되게 풀이를 잘해주셔서 좋았다.!!

 

def solution(progresses, speeds):
    #결과를 담을 리스트
    answer = []
    #작업 리스트가 빌 때까지 반복
    while progresses :
        #몇개의 기능이 배포되는지 저장 
        cnt = 0
        #작업 리스트가 남아있고 맨 앞의 작업의 진도가 100인 경우: 기능 배포 변수 증가. 해당 작업과 작업 속도를 리스트에서 제거
        while progresses and progresses[0] >= 100:
            cnt+=1
            progresses.pop(0)
            speeds.pop(0)

        # 작업 리스트의 진도를 증가
        progresses = [progresses[i]+speeds[i] for i in range(len(progresses))]

        #만약 오늘 기능이 배포되었다면 결과리스트에 추가
        if cnt:
            answer.append(cnt)
    
    return answer

 

오호... 코드 중에서도 for i in range(len(progresses) 이렇게 for문을 쓸 수 있다는것을 새롭게 알았다.

재밌는 문제였다!