728x90
반응형

 

import heapq, sys

def BOJ1927() :
  n = int(sys.stdin.readline())
  list = []
  for _ in range(n) :
    command = int(sys.stdin.readline())
    if command == 0 :
      if len(list) == 0 :
        print(0)
      else :
        print(heapq.heappop(list))
    else :
      heapq.heappush(list, command)

BOJ1927()

 

접근 방법 : 

1. 배열에 값을 넣고 매번 배열을 정렬할수 없으므로 heap을 사용하자

2. command가 0일때 와 아닐때 0일때는 비어있는지 아닌지만 판단해서 값을 잘 반환해주면 된다

 

장애물 이였던 것 :

1. 힙의 쓰임새가 익숙치 않았다.

 

 

https://www.acmicpc.net/problem/1927

 

1927번: 최소 힙

첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0

www.acmicpc.net

 

728x90
반응형

'알고리즘' 카테고리의 다른 글

그룹 단어 체커 [백준 - 1316] - python  (0) 2022.01.10
색종이 만들기[백준 2630] - python  (0) 2022.01.08
숨바꼭질 4  (1) 2022.01.06
숨바꼭질 [백준 1697] - python  (0) 2022.01.05
케빈 베이컨의 6단계 법칙  (0) 2022.01.04

+ Recent posts