백준[1655번] 가운데를 말해요

2023. 9. 19. 13:24·알고리즘
728x90
반응형
#include <iostream>
#include <queue>
using namespace std;

int main(int argc, char const *argv[])
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    int n;
    cin >> n;

    priority_queue<int> maxHeap;
    priority_queue<int, vector<int>, greater<>> minHeap;

    int x;
    for (int i = 0; i < n; i++)
    {
        cin >> x;

        if (maxHeap.size() <= minHeap.size())
        {
            maxHeap.push(x);

            if (!minHeap.empty() && maxHeap.top() > minHeap.top())
            {
                int a1 = minHeap.top();
                int a2 = maxHeap.top();
                minHeap.pop();
                maxHeap.pop();
                minHeap.push(a2);
                maxHeap.push(a1);
            }
            cout << maxHeap.top() << '\n';
        }
        else
        {
            minHeap.push(x);

            if (!minHeap.empty() && maxHeap.top() > minHeap.top())
            {
                int a1 = minHeap.top();
                int a2 = maxHeap.top();
                minHeap.pop();
                maxHeap.pop();
                minHeap.push(a2);
                maxHeap.push(a1);
            }
            cout << maxHeap.top() << '\n';
        }
    }

    return 0;
}

참고: https://www.crocus.co.kr/625

1. maxheap, minheap 생성

2. maxHeap.top()이 중간값이 되도록 설정

규칙

1. maxheap.size() >= minHeap.size() : 같거나 하나 더 크다.

2. maxheap.top() <= minHeap.top(): 만약 maxHeap.top()이 minHeap.top()보다 크다면 서로 swap한다.

 

 

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

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

백준[15663번] N과 M(9)  (2) 2023.10.31
백준[2133번] 타일 채우기  (0) 2023.10.30
백준[3197번] 백조와 호수  (0) 2023.09.19
백준 14889번 스타트와 링크  (0) 2023.09.07
이진 탐색(Binary_search) using python  (0) 2022.12.31
'알고리즘' 카테고리의 다른 글
  • 백준[2133번] 타일 채우기
  • 백준[3197번] 백조와 호수
  • 백준 14889번 스타트와 링크
  • 이진 탐색(Binary_search) using python
moongi
moongi
프로그래밍 관련 공부를 정리하는 블로그
  • moongi
    By_Me
    moongi
  • 전체
    오늘
    어제
    • 공부 (74) N
      • 알고리즘 (45) N
        • 기업별 유사 문제 (2)
        • Sudo Code (4)
        • 예외처리 (1)
        • SQL (5)
      • spring boot (6)
        • jpa (0)
        • querydsl (0)
        • MVC pattern (0)
        • setting (2)
      • 취준 (3)
      • CS (8)
        • 디자인패턴 (1)
        • 데이터베이스 (4)
        • 네트워크 (3)
        • 운영체제 (0)
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
moongi
백준[1655번] 가운데를 말해요
상단으로

티스토리툴바