[Python] 백준/BOJ 23757번: 아이들과 선물 상자 (Silver 2)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 상훈이는 N개의 선물 상자를 가지고 있다. 선물 상자에는 현재 담겨있는 선물의 개수가 적혀있다.선물을 받을 아이들이 M명 있다. 아이들은 각자 1에서 M까지의 서로 다른 번호를 하나씩 부여받았다. 1번 아이부터 M번 아이까지 한 번에 한 명씩, 현재 선물이 가장 많이 담겨있는 상자에서 각자 원하는 만큼 선물을 가져간다. 이때, 앞서 누군가 선물을 가져갔던 선물 상자에서 또다시 가져가도 상관없다.하지만 상자에 자신이 원하는 것보다 적은 개수의 선물이 들어있다면, 선물을 가져가지 못해 실망한다.상훈이는 한 명이라도 실망하지 않고 모두가 선물을 가져갈 수 있는지 궁금하다. 💡 Approachheapq 모듈을 활용하여 최대 힙을 구현했다.최대 힙의 경우 최소 힙과 동일하게 구..
[Python] 백준/BOJ 1927번: 최소 힙 (Silver 2)
·
Algorithm/백준 (BOJ)
💻 Problem문제 보러 가기 널리 잘 알려진 자료구조 중 최소 힙이 있다. 최소 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오.배열에 자연수 x를 넣는다.배열에서 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작하게 된다. 💡 Approachheapq 모듈 활용하여 최소 힙을 구현했다. ✏️ Solutionimport sysimport heapqinput = sys.stdin.readlinen = int(input())heap = []for _ in range(n): x = int(input()) if x == 0: print(heapq.heappop(heap) if heap else 0) else: ..