[Python | 파이썬] 프린터 (프로그래머스 STACK/QUEUE)
큐의 맨위에 위치한 작업의 우선순위가 제일 높다면 그 작업을 처리한다. 처리된 작업이 언제처리되는지 알고 싶은 작업 location이라면 반복문을 종료한다. 맨위에 위치한 작업의 우선순위가 제일 높지 않다면 그 작업을 맨뒤로 보낸다.
그리고 모든 반복문에서 location의 위치를 앞으로 한칸씩 당겨주고, location이 0보다 작다면 현재 queue의 길이-1의 인덱스로 설정한다.
더보기
from collections import deque
def solution(priorities, location):
answer = 0
q = deque(priorities)
cnt = 0
while q:
if max(q) == q[0]:
q.popleft()
cnt += 1
if location == 0:
answer = cnt
break
else:
q.append(q.popleft())
location -= 1
if location < 0:
location = len(q) - 1
return answer
https://programmers.co.kr/learn/courses/30/lessons/42587
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Problem Solving > Programmers - Python' 카테고리의 다른 글
[Python | 파이썬] 주식가격 (프로그래머스 STACK/QUEUE) (0) | 2021.05.31 |
---|---|
[Python | 파이썬] 다리를 지나는 트럭 (프로그래머스 STACK/QUEUE) (0) | 2021.05.31 |
[Python | 파이썬] 기능개발 (프로그래머스 STACK/QUEUE) (0) | 2021.05.31 |
[Python | 파이썬] 완주하지 못한 선수 (프로그래머스 HASH) (0) | 2021.05.31 |
[Python | 파이썬] 체육복 (프로그래머스 GREEDY) (0) | 2021.05.31 |