728x90
반응형
<문제>
https://programmers.co.kr/learn/courses/30/lessons/42587
<코드>
def solution(priorities, location):
answer = 0
pin = 0
while priorities:
if priorities[0] < max(priorities):
if pin == location:
location = len(priorities)
pin = 0
priorities.append(priorities.pop(0))
else:
priorities.pop(0)
answer += 1
if pin == location:
return answer
pin += 1
<NOTE>
- answer을 통해 인쇄 완료한 것의 개수를 카운팅하여 내가 원하는 작업물이 몇 번째로 인쇄되는지 파악한다.
- 이 문제의 핵심은 location위치의 프린트물을 추적하는 것이다. pin을 통해 현재 위치를 파악하며, pin과 location이 일치하는데 인쇄할 수 없다면 맨 마지막으로 보내야하기 때문에 location을 len(priorities)로 옮기고 pin도 0으로 초기화한다. location을 len(priorities) - 1로 하지 않은 이유는 while문 마지막에 pin += 1으로 pin의 개수를 올려주도록 해두었기 때문이다.
728x90
반응형
'알고리즘 > 스택 \ 큐 \ 덱' 카테고리의 다른 글
#52 [파이썬] 프로그래머스 : 기능개발 (0) | 2022.04.08 |
---|---|
#15 [파이썬] 백준 13417번 문제: 카드 문자열 (0) | 2021.04.16 |
#14 [파이썬] 백준 2346번 문제: 풍선 터뜨리기 (0) | 2021.04.14 |
#13 [파이썬] 백준 18115번 : 카드 놓기 (0) | 2021.04.13 |
#12 [파이썬] 백준 7785번 문제: 회사에 있는 사람 (0) | 2021.04.13 |
댓글