Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준 1644
- 백준 10819
- 1753 파이썬
- 1806 파이썬
- Jetpack Room
- 1806 백준
- 6588 파이썬
- 1644 파이썬
- Android mvp
- Android Room
- 자료구조
- 자바
- android hilt
- 백준 2096
- Coroutine Flow
- 10819 파이썬
- 1806 투포인터
- 1753 다익스트라
- 5582 DP
- 백준 5582
- 이진 탐색
- 안드로이드 hilt
- git local remote
- 1003 파이썬
- 5582 파이썬
- 투포인터 알고리즘
- 코루틴 플로우
- java
- flow buffering
- 2096 파이썬
Archives
- Today
- Total
Gemstone's Devlog
[백준] 2696번: 중앙값 구하기 본문
https://www.acmicpc.net/problem/2696
2696번: 중앙값 구하기
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 수열의 크기 M(1 ≤ M ≤ 9999, M은 홀수)이 주어지고, 그 다음 줄부터 이 수열의 원소가 차례대로 주
www.acmicpc.net
파이썬에서는 최대힙과 최소힙을 함수로 만들어야해서 너무 귀찮았다.
그래서 이번에는 c++로 코드를 짜보았다.
#include <iostream>
#include <queue>
#include <vector>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int M, x, TC, medianCnt;
cin >> TC;
while(TC--) {
priority_queue<int> maxHeap;
priority_queue<int, vector<int>, greater<int>> minHeap;
cin >> M; // 문제조건 M = 홀수
cout << M / 2 + 1 << '\n';
medianCnt = 0; // 한 줄에 10개씩 출력하기 위함
for (int i = 1; i <= M; i++) {
cin >> x;
if (maxHeap.size() == minHeap.size())
maxHeap.push(x);
else
minHeap.push(x);
if (!minHeap.empty() && !maxHeap.empty() && minHeap.top() < maxHeap.top()) {
int a = maxHeap.top(); maxHeap.pop();
int b = minHeap.top(); minHeap.pop();
minHeap.push(a); maxHeap.push(b); // 스왑
}
// 홀수 번째 수인 경우
if (i % 2) {
cout << maxHeap.top() << ' ';
medianCnt++;
// 10개씩 1줄단위 처리
if (medianCnt % 10 == 0)
cout << '\n';
}
}
cout << '\n';
}
}
https://zoosso.tistory.com/503
[BOJ] 백준 2696 중앙값 구하기
출처: https://www.acmicpc.net/problem/2696 [그래프] 힙(Heap) 자료구조란? 힙(Heap) 자료구조란? Heap - 최대값 또는 최소값을 빠르게 구하기 위한 자료구조 - 완전 이진 트리를 기본으로 한 자료구조 - 마지..
zoosso.tistory.com
'Data Structure & Algorithms' 카테고리의 다른 글
[백준] 3055번: 탈출 (0) | 2021.08.23 |
---|---|
[백준] 1715번: 카드 정렬하기 (0) | 2021.08.19 |
[백준] 17298번: 오큰수 (0) | 2021.08.17 |
[백준] 1406번: 에디터 (0) | 2021.08.17 |
[백준] 2346번: 풍선 터뜨리기 (0) | 2021.08.16 |