내용으로 건너뛰기
테페리넷
사용자 도구
등록
로그인
사이트 도구
검색
도구
문서 보기
Fold/unfold all
역링크
미디어 관리자
사이트맵
등록
로그인
>
미디어 관리자
사이트맵
현재 위치:
테페리넷
»
Problem Solving
»
문제
»
프로그래머스
»
이중우선순위큐
ps:problems:programmers:42628
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== 이중우선순위큐 ====== ===== 풀이 ===== * BOJ의 [[ps:problems:boj:7662]]와 동일한 문제. 풀이는 그쪽 참고 * 다른 사람의 코드를 보면, O(n^2) 풀이로도 통과되는 것은 BOJ와 마찬가지인데, 그 외에도 제대로 동작하지 않는 코드들도 통과된 것들이 보인다. 테스트케이스가 약한것 같다. ===== 코드 ===== <dkpr py> """Solution code for "Programmers 42628. 이중우선순위큐". - Problem link: https://programmers.co.kr/learn/courses/30/lessons/42628 - Solution link: http://www.teferi.net/ps/problems/programmers/42628 """ from teflib import priorityqueue def solution(operations): max_heap = priorityqueue.UpdatableHeap() min_heap = priorityqueue.UpdatableHeap() for op in operations: cmd, n = op.split() if cmd == 'I': num = int(n) max_heap.push(-num) min_heap.push(num) elif max_heap.size(): if n == '1': num = -max_heap.pop() min_heap.delete(num) else: num = min_heap.pop() max_heap.delete(-num) if max_heap.size() == 0: return [0, 0] else: return [-max_heap.top(), min_heap.top()] </dkpr> * Dependency: [[:ps:teflib:priorityqueue#UpdatableHeap|teflib.priorityqueue.UpdatableHeap]] {{tag>프로그래머스 ps:problems:programmers:Level_3}}
ps/problems/programmers/42628.txt
· 마지막으로 수정됨: 2021/05/28 03:11 저자
teferi
문서 도구
문서 보기
역링크
Fold/unfold all
맨 위로