알고리즘/문제풀이
[Python] Programmers 기능개발
정찡이
2021. 9. 28. 13:30
728x90
1. 문제 링크
https://programmers.co.kr/learn/courses/30/lessons/42586
2. 문제 요약
각 배포마다 몇 개의 기능이 배포되는지 반환합니다.
3. 아이디어 정리
- 덱을 이용하여 걸리는 작업일을 넣어줍니다.
- 현재 값이 이전 작업보다 작거나 같은 경우 앞 작업 배포 수에 + 1 합니다.
- 아닌 경우는 배포 시기가 다른 경우라서 1을 뒤에 추가해줍니다.
4. 문제 풀이
4-1. 내 풀이
from collections import deque
import math
def solution(progresses, speeds):
answer = list()
dq = deque([math.ceil((100 - p) / s) for p, s in zip(progresses, speeds)])
temp = -1
while dq:
now = dq.popleft()
if now <= temp:
answer[-1] += 1
else:
answer.append(1)
temp = now
return answer
5. 결론
- 덱 사용 문제