티스토리 뷰
728x90
https://programmers.co.kr/learn/courses/30/lessons/42586
코딩테스트 연습 - 기능개발
프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는
programmers.co.kr
- 해설 :
현재 개발진도가 담겨있는 배열과 하루마다 진척되는 작업률이 담겨있는 배열이 주어질 때 하루 하루가 지나 작업률이 100%가 되면 작업이 완료된다. 하지만 이 작업은 batch system의 구조로 되어있어 앞의 작업이 먼저 끝나야 뒤의 작업을 완료할 수 있다. 여기서 작업이 완료되는 날마다 몇 개의 작업들이 완료되는지 출력하면 된다.
- 풀이 :
모든 작업이 끝나기 전까지 매일 현재 작업률에 매일 증가하는 작업속도를 더해준다. 이 때, 가장 앞의 작업이 100%를 달성한다면 작업리스트와 작업속도 list에서 100%가 넘지 않는 원소가 나올 때까지 popleft를 해준다. popleft한 횟수를 cnt해주어 answer 리스트에 append하고 모든 작업이 끝날 때까지 반복한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | def solution(progresses, speeds): answer = [] while progresses: cnt = 0 for i in range(len(progresses)): progresses[i] += speeds[i] if progresses[0] >= 100: while progresses[0] >= 100: del progresses[0] del speeds[0] cnt += 1 if not progresses: break answer.append(cnt) return answer | cs |
320x100
'Algorithm > Data Structure' 카테고리의 다른 글
(Python) - 프로그래머스 : 올바른 괄호 (0) | 2022.01.21 |
---|---|
(Python) - 프로그래머스(2018 KAKAO BLIND RECRUITMENT) : [1차] 캐시 (0) | 2022.01.21 |
(Python) - 프로그래머스 : 짝지어 제거하기 (0) | 2022.01.18 |
(Python) - 프로그래머스 : 더 맵게 (0) | 2022.01.18 |
(Python) - 프로그래머스 (2019 카카오 개발자 겨울 인턴쉽) : 크레인 인형뽑기 게임 (0) | 2022.01.17 |
댓글
© 2022 WonSeok, All rights reserved