프로그래머스
[프로그래머스]기능 개발
daniel7481
2022. 7. 18. 18:49
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
간단한 우선순위 큐 문제였다. 큐가 빌 때까지 계속 speed를 더해주고 만약 100이 넘었다면 progresses와 speeds 둘다 빼주면 된다. 한 번에 몇 명 나왔는지 cnt에 할당하여 리스트에 넣어주었다.
from collections import deque
def solution(progresses, speeds):
answer = []
progresses = deque(progresses)
speeds = deque(speeds)
while progresses:
for i in range(len(progresses)):
progresses[i] += speeds[i]
cnt = 0
a = progresses.popleft()
if a >= 100:
cnt += 1
speeds.popleft()
while progresses:
print(progresses)
b = progresses.popleft()
if b >= 100:
cnt +=1
speeds.popleft()
else:
progresses.appendleft(b)
break
answer.append(cnt)
else:
progresses.appendleft(a)
return answer
반응형