프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def solution(progresses, speeds):
answer = []
publish = 0
prev = 0
while publish < len(progresses):
if progresses[publish] >= 100:
while publish != len(progresses) and progresses[publish] >= 100:
publish += 1
if len(answer) != 0:
answer.append(publish-prev)
else:
answer.append(publish)
prev = publish
for i in range(publish, len(progresses)):
progresses[i] += speeds[i]
return answer
아래는 deque를 이용하여 progresses와 speeds의 원소들을 pop하며 풀어본 결과이다.
from collections import deque
def solution(progresses, speeds):
answer = []
progresses = deque(progresses)
speeds = deque(speeds)
while progresses:
cnt = 0
while progresses and progresses[0] >= 100:
progresses.popleft()
speeds.popleft()
cnt += 1
for i in range(len(progresses)):
progresses[i] += speeds[i]
if cnt > 0:
answer.append(cnt)
return answer
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 프로그래머스 더 맵게 (0) | 2022.12.08 |
---|---|
[Python/파이썬] 프로그래머스 주식가격 (1) | 2022.12.07 |
[Python/파이썬] 프로그래머스 괄호 회전하기 (0) | 2022.11.09 |
[Python/파이썬] 프로그래머스 행렬의 곱셈 (0) | 2022.11.09 |
[Python/파이썬] 프로그래머스 H-Index (0) | 2022.11.08 |