[BOJ] 11279: 최대 힙 (JAVA)

2024. 2. 27. 21:54·코테/Algorithm
728x90
 

11279번: 최대 힙

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

www.acmicpc.net

 

Priority Queue (우선순위 큐)

 

FIFO(First In First Out)인 일반적인 Queue와 다르게 Priority Queue는 우선순위가 높은 데이터가 먼저 출력된다.
기본적으로 오름차순 정렬을 하게 되는데 정렬 기준을 바꾸고 싶다면 람다식을 이용하거나 Comparator, Comparable를 이용해야 한다.

 

🏷️ Integer는 Collections.reverseOrder()통해 간단하게 내림차순 정렬 할 수 있다.

PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
pq.add(1);
pq.add(3);
pq.add(7);
pq.add(6);
//pq.offer()도 가능

System.out.println(pq.poll()); // 7 출력

 

package 백준renew;

import java.io.*;
import java.util.*;

public class 실버2_11279_최대힙 {
	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
		StringBuilder sb = new StringBuilder();
		
		int x = Integer.parseInt(br.readLine());
		
		for(int tc=0; tc<x; tc++) {
			int now = Integer.parseInt(br.readLine());
			
			if(now == 0) {
				if(pq.isEmpty()) {
					sb.append(0).append('\n');
				}else {
					int tmp = pq.poll();
					sb.append(tmp).append('\n');
				}
			}else {
				pq.add(now);
			}
		}
		
		System.out.println(sb.toString());
	}
}

 

728x90

'코테 > Algorithm' 카테고리의 다른 글

[BOJ] 11286: 절댓값 힙 (JAVA)  (1) 2024.02.28
[BOJ] 1927: 최소 힙 (JAVA)  (0) 2024.02.27
[BOJ] 5635: 생일 (JAVA)  (2) 2024.02.25
[BOJ] 13549: 숨바꼭질3 (JAVA)  (0) 2024.02.23
[BOJ] 14940: 쉬운 최단거리 (JAVA)  (0) 2024.02.22
'코테/Algorithm' 카테고리의 다른 글
  • [BOJ] 11286: 절댓값 힙 (JAVA)
  • [BOJ] 1927: 최소 힙 (JAVA)
  • [BOJ] 5635: 생일 (JAVA)
  • [BOJ] 13549: 숨바꼭질3 (JAVA)
DROPDEW
DROPDEW
💻 Developer | 기록하지 않으면 존재하지 않는다
  • DROPDEW
    제 2장 1막
    DROPDEW
  • 전체
    오늘
    어제
    • Dev (422) N
      • App·Android (1)
      • BE (44)
        • HTTP 웹 기본 지식 (8)
        • 스프링 입문 - 코드로 배우는 스프링 부트, 웹 .. (12)
        • 스프링부트와 JPA 활용 (11)
        • 스프링부트 시큐리티 & JWT (0)
        • PHP (6)
      • FE·Client (23)
        • HTML (1)
        • React (19)
        • Unity (1)
      • Data (21) N
        • AI (7)
        • Bigdata (6)
        • Database (1)
        • 빅데이터분석기사 (6) N
      • Infra (0)
      • Activity (1)
        • Education (0)
        • Intern (0)
        • 리모트 인턴십 6기 (1)
        • 구름톤 유니브 4기 (0)
        • SW교육기부단 15기 (0)
        • SK AI Dream Camp (0)
      • CS (8)
      • 취준 (13)
        • 자격증 (4)
        • 인적성·NCS (6)
        • 코테·필기·면접 후기 (3)
      • 코테 (270)
        • Algorithm (222)
        • SQL (35)
        • 정리 (13)
      • 인사이트 (27)
        • 회고 (0)
        • 금융경제뉴스 (7)
        • 금융용어·지식 (2)
        • 북마크 (7)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    너비우선탐색
    티스토리챌린지
    다이나믹프로그래밍
    백준
    투포인터
    그리디알고리즘
    그래프이론
    최단경로
    시뮬레이션
    브루트포스 알고리즘
    그래프탐색
    수학
    매개변수탐색
    이분탐색
    누적합
    자료구조
    오블완
    구현
    정렬
    문자열
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
DROPDEW
[BOJ] 11279: 최대 힙 (JAVA)
상단으로

티스토리툴바