파게로그
[프로그래머스 Lv.2] 기능개발 본문
문제 링크: 프로그래머스 Lv.2 기능개발
https://programmers.co.kr/learn/courses/30/lessons/42586
먼저 progresses
를 배포까지 걸리는 날짜를 담고 있는 리스트로 바꾸어준다. 아직 배포되지 않은 기능들 중 가장 긴 기간을 long
이라 하면, long
이 progresses[i]
보다 크거나 같으면 후자는 전자의 개발이 완료될 때까지 기다려야 한다. 반면 long
이 progresses[i]
보다 작으면 지금까지의 배포는 모두 완료되어야 한다.
def solution(progresses, speeds):
# 배포까지 남은 날짜로 변환
for i in range(len(progresses)):
remainProg = 100 - progresses[i]
remainDayMod = remainProg % speeds[i]
remainDay = remainProg // speeds[i]
progresses[i] = remainDay
if remainDayMod != 0: progresses[i] += 1
# 배열에 추가하다가 더 큰 것을 만나면 비우기
q = []
res = []
q.append(progresses[0])
for i in range(1, len(progresses)):
if q[0] < progresses[i]:
res.append(len(q))
q = []
q.append(progresses[i])
if q:
res.append(len(q))
return res
'콤퓨타 왕왕기초 > PS' 카테고리의 다른 글
[백준 11053번] 가장 긴 증가하는 부분 수열 (0) | 2020.12.07 |
---|---|
[백준 2156번] 포도주 시식 (0) | 2020.12.07 |
[백준 10844번] 쉬운 계단 수 (0) | 2020.12.01 |
[백준 1463번] 1로 만들기 (0) | 2020.12.01 |
[백준 2579번] 계단 오르기 (0) | 2020.12.01 |
Comments