갬쿠
개미 개발
갬쿠
전체 방문자
오늘
어제
  • ALL (137)
    • React (20)
    • JS & CSS & HTML (29)
    • Algorithm (62)
    • 웹 보안 (11)
    • 달리는 까까: 쿠키런 팬게임 (10)
    • Python (0)
    • 기타 (5)
    • 비공개 플젝 (0)

블로그 메뉴

  • GitHub
  • 방명록
  • 관리자 메뉴

공지사항

인기 글

태그

  • node.js
  • useReducer
  • Object
  • useEffect
  • 쿠키런 모작
  • useState
  • Python
  • 객체
  • REACT
  • Best of the Best
  • 백준
  • js
  • 모의 해킹
  • 크롬 공룡 게임
  • 달리는 까까
  • EventListener
  • Programmers
  • JavaScript
  • 쿠키런
  • CSS
  • 게임 개발
  • Baekjoon
  • BEAKJOON
  • 크롬 공룡게임
  • 리액트
  • transform
  • 쿠키런 팬게임
  • 게임
  • HTML
  • SQL Injection

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갬쿠

개미 개발

[11279] 최대 힙 - Python
Algorithm

[11279] 최대 힙 - Python

2023. 3. 10. 00:31
/* 문제 */
널리 잘 알려진 자료구조 중 최대 힙이 있다. 최대 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오.
    1. 배열에 자연수 x를 넣는다.
    2. 배열에서 가장 큰 값을 출력하고, 그 값을 배열에서 제거한다.
프로그램은 처음에 비어있는 배열에서 시작하게 된다.

최대 힙을 구현해 보는 문제다. 파이썬의 내장 모듈 heapq를 사용했다.

# 정답 코드
import sys
input = sys.stdin.readline
import heapq

heap = []

n = int(input())
for _ in range(n):
    x = int(input())
    if x == 0:
        if len(heap) == 0:
            print(0)
        else:
            print(-heapq.heappop(heap))
    else:
        heapq.heappush(heap, -x)

1927번 최소 힙 문제에서 힙에 넣고 빼는 값들의 부호만 달라졌다. 부호를 바꿔 대소관계를 역전시켜 저장한 후 꺼낼 때 부호만 다시 돌려놓는 방법이다. 


1927, 11279 문제를 풀어보며 힙의 기본적인 사용 방법을 알아봤다. 힙을 적용하여 풀 수 있는 문제들을 더 풀어봐야겠다.

728x90

'Algorithm' 카테고리의 다른 글

[15686] 치킨 배달 - Python  (0) 2023.03.23
[7662] 이중 우선순위 큐 - Python  (0) 2023.03.10
[1927] 최소 힙 - Python  (0) 2023.03.10
Heap  (1) 2023.03.10
[13913] 숨바꼭질 4 - Python  (0) 2023.03.02
    'Algorithm' 카테고리의 다른 글
    • [15686] 치킨 배달 - Python
    • [7662] 이중 우선순위 큐 - Python
    • [1927] 최소 힙 - Python
    • Heap
    갬쿠
    갬쿠
    보안&소프트웨어 전공 프론트엔드 개발자

    티스토리툴바