99클럽 코테 스터디 10일차 TIL /[백준]최대힙

2024. 7. 31. 14:10·Algorithm/99클럽 코테 스터디
728x90
반응형

 

💡문제

[Silver II] 최대 힙 - 11279

문제 링크

성능 요약

메모리: 38356 KB, 시간: 1604 ms

 


🤔접근법

문제 요약

  • 주어진 자연수 x를 배열에 넣고, 0이 주어지면 가장 배열에서 가장 큰 값을 출력하는 문제

범위 체크 및 시간복잡도 예상

  • 1 ≤ N ≤ 100,000 (N은 x가 주어지는 횟수)
  • $O(N^2)$ 보다는 작아야한다.

풀이법

⭕ 접근 방법. 우선순위 큐

🔑 PriorityQueue를 사용하자!

static PriorityQueue<Integer> *pq* = new PriorityQueue<>((o1, o2) -> {return o2-o1;});

위와 같이 PQ를 사용하여 우선순위 조건을 변경하면 큰 값이 우선이 되도록 qp를 생성할 수 있다.

pq 는 힙으로 구성되어 있기 때문에 시간복잡도는 O(logN)을 가진다.

➡️ 해당 풀이법의 시간 복잡도 : $O(NlogN)$

 


 

😎SUCCESS

고냥 단박에 성공

 


👩‍💻 코드

package gugu;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.PriorityQueue;

public class Main10 {
    static int N;
    static PriorityQueue<Integer> pq = new PriorityQueue<>((o1, o2) -> {
        return o2-o1;
    });
    public static void main(String[] args) throws IOException {
        BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
        N = Integer.parseInt(br.readLine());
        int x ;
        for (int i = 0; i < N; i++) {
            x = Integer.parseInt(br.readLine());
            if(x == 0){
                if(pq.isEmpty()){
                    System.out.println(0);
                }else{
                    System.out.println(pq.poll());
                }
                continue;
            }
            pq.add(x);
        }
    }
}

반응형

'Algorithm > 99클럽 코테 스터디' 카테고리의 다른 글

99클럽 코테 스터디 13일차 TIL / [프로그래머스] 입국심사  (0) 2024.08.03
99클럽 코테 스터디 11일차 TIL /[프로그래머스]가장 큰 수  (0) 2024.08.01
99클럽 코테 스터디 9일차 TIL / [백준] 최소힙  (0) 2024.07.31
99클럽 코테 스터디 8일차 TIL [프로그래머스] 두 큐 합 같게 만들기  (0) 2024.07.29
99클럽 코테 스터디 7일차 TIL + [프로그래머스] 과제 진행하기  (0) 2024.07.28
'Algorithm/99클럽 코테 스터디' 카테고리의 다른 글
  • 99클럽 코테 스터디 13일차 TIL / [프로그래머스] 입국심사
  • 99클럽 코테 스터디 11일차 TIL /[프로그래머스]가장 큰 수
  • 99클럽 코테 스터디 9일차 TIL / [백준] 최소힙
  • 99클럽 코테 스터디 8일차 TIL [프로그래머스] 두 큐 합 같게 만들기
제가안난데여♪(´ε`*)
제가안난데여♪(´ε`*)
기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 제가안난데여♪(´ε`*)
    안나의 전두엽 어딘가 🧠
    제가안난데여♪(´ε`*)
    기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 전체
    오늘
    어제
    • 분류 전체보기 (128)
      • 간단하게 한스푼🥄 (1)
      • Programming (56)
        • Spring (16)
        • Vue.js (6)
        • Deep Learning (3)
        • DataBase (5)
        • React (26)
      • DevOps (21)
        • Docker (12)
        • Linux (4)
      • Algorithm (46)
        • 알고리즘 정리 (5)
        • 자료구조 (0)
        • PS - 백준 (28)
        • 99클럽 코테 스터디 (13)
      • Project (0)
        • CampFire (0)
      • 안나의 취뽀일기 (˵ •̀ ᴗ - ˵ ) ✧ (4)
        • SSAFY_9기 (2)
        • SW 부트캠프 (2)
  • 잔디 달력

    «   2025/05   »
    일 월 화 수 목 금 토
    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 31
  • 인기 글

  • 태그

    docker
    React
    도커컨테이너
    알고리즘
    topology sort
    코딩테스트 준비
    백준 java
    항해99
    front-end
    백준
    Vue
    99클럽
    자바
    김영한
    Vue.js
    java 백준
    Vue.js 입문하기
    리액트 상태
    greedy
    linux
    java
    개발자 취업
    도커
    java stack
    백준 구현문제
    til
    stack
    Spring
    자바 스택
    springboot
  • 05-12 11:38
    반응형
  • hELLO· Designed By정상우.v4.10.3
제가안난데여♪(´ε`*)
99클럽 코테 스터디 10일차 TIL /[백준]최대힙
상단으로

티스토리툴바