티스토리 뷰
728x90
    
    
  문제
https://programmers.co.kr/learn/courses/30/lessons/42628
코딩테스트 연습 - 이중우선순위큐
programmers.co.kr
풀이 및 소스코드
heapq.nlargest(n , hq)
위 nlargest함수는 hq 라는 이름을 가진 힙큐에서의 최댓값을 n개 만큼 출력하는 함수이다.
hq = heapq.nlargest(len(hq), hq)[1:]
heapq.heapify(hq)
따라서 nlargest 함수로 hq의 길이만큼 최대값을 출력할 때 0번째 원소를 빼고 나머지 결과값을 다시 hq에 넣는다면 최대값을 뺀 힙큐를 구현할 수 있다.
import heapq
def solution(operations):
    hq = []
    for oper in operations:
        num = int(oper[2:])
        if oper[0] =='I':
            heapq.heappush(hq, num)
        else:
            if len(hq) == 0:
                continue
            elif num == 1:
                hq = heapq.nlargest(len(hq), hq)[1:]
                heapq.heapify(hq)
            else:
                print(heapq.heappop(hq))
        print(hq)
    if len(hq)==0:
        return [0, 0]
    else:
        return [heapq.nlargest(1, hq)[0], heapq.nsmallest(1, hq)[0]]반응형
    
    
    
  'Coding - Algo > python' 카테고리의 다른 글
| [프로그래머스] 캐시 (python 파이썬) (0) | 2021.06.22 | 
|---|---|
| [프로그래머스] 가장 큰 수 (python 파이썬) (0) | 2021.06.22 | 
| [프로그래머스] 디스크 컨트롤러 (python 파이썬) (2) | 2021.06.17 | 
| [프로그래머스] 프린터 (python 파이썬) (1) | 2021.06.17 | 
| [프로그래머스] 위장 (python 파이썬) (0) | 2021.06.13 | 
                      공지사항
                      
                  
                
                  
                  
                    최근에 올라온 글
                    
                
                  
                  
                    최근에 달린 댓글
                    
                
                  
                  - Total
 
- Today
 
- Yesterday
 
                    링크
                    
                  
                
                  
                  
                    TAG
                    
                
                  
                  - SWEA
 - swea 타일링 자바
 - 백준 17144
 - 프로그래머스 파이썬
 - 삼성청년SW아카데미
 - swea 1240 자바
 - 파이썬
 - swea 4070 타일링
 - yoloV3
 - 백준 풀이
 - 우분투
 - swea 1240
 - 프로그래머스 자바
 - 3996 자바
 - poker swea
 - SSAFY
 - swea 타일링
 - 백준 dp 문제
 - 백준파이썬
 - ubuntu
 - 파이썬 풀이
 - 프로그래머스
 - 백준
 - 타일링 자바
 - 프로그래머스 더 맵게
 - 더 맵게
 - 1240 자바
 - 1699 자바
 - union-find
 - 메뉴리뉴얼 풀이
 
| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
                    글 보관함