https://school.programmers.co.kr/learn/courses/30/lessons/42587
from collections import deque
def solution(priorities, location):
queue = deque(enumerate(priorities))
num = 0
while queue:
cur = queue.popleft()
if any(cur[1] < q[1] for q in queue):
queue.append(cur)
else:
num += 1
if cur[0] == location:
return num
[개선할 점]
- 코드 힌트를 조금 참조해서 푼 결과이다.
- 처음에는 location 값이 queue의 변화에 따라 고정적이지 않은 부분이 고민이었다. 이는 (기존 인덱스, 값)의 튜플 형태로 정보를 남김으로써 해결할 수 있었다.
- '대상값보다 바로 다음으로 큰 값이 모두 처리되는 시점을 기준으로 순차처리하기'라는 원리도 생각해보았었다.
'codes > programmers' 카테고리의 다른 글
42578 의상 (0) | 2024.12.27 |
---|---|
42584 주식가격 (1) | 2024.12.27 |
42586 기능개발 (2) | 2024.12.14 |
86491 최소직사각형 (1) | 2024.12.13 |
12906 같은 숫자는 싫어 (0) | 2024.12.12 |