ornni 2024. 4. 22. 10:00
728x90
반응형

첫번째 코드

 

스택이나 큐를 이용해서 풀고싶었는데

코드가 너무 복잡해지고 계속 중간에 오류가 나서....

 

책을 참고했더니 우선순위 큐를 이용하면 된다고 한다!

정렬 기준을 적용해서 선언하는 방법이다

 

import sys
input = sys.stdin.readline
print = sys.stdout.write
from queue import PriorityQueue

n = int(input())
queue = PriorityQueue()

for i in range(n):
    request = int(input())
    
    if request == 0:
        if queue.empty():
            print('0\n')
        else:
            temp = queue.get()
            print(str((temp[1])) + '\n')
    else:
        queue.put((abs(request), request))

 

위의 방법으로 불러오고 정렬 기준을 세워주면 예쁘게 정렬대로 큐에 저장이 된다

 

통과!

근데 흠... 다음에 풀어보자! 이해가 잘 안되는건지 낯선건지...

덱으로 풀 수 있는 방법이 있을 것 같은데 고려해 보아야 겠다


링크

https://github.com/ornni/programmers/tree/main/%EB%B0%B1%EC%A4%80/Silver/11286.%E2%80%85%EC%A0%88%EB%8C%93%EA%B0%92%E2%80%85%ED%9E%99

 

programmers/백준/Silver/11286. 절댓값 힙 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형