| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 임베디드
- 누적합
- 다이나믹 프로그래밍
- level2
- 자바
- Stack
- 이분탐색
- dfs
- 프로그래머스
- 동적계획법
- level3
- C
- 컴퓨터비전
- 통신 인터페이스
- 구현
- 우선순위큐
- dp
- kotlin
- 코틀린
- 컴퓨터 비전
- 2018 KAKAO BLIND RECRUITMENT
- 다이나믹프로그래밍
- c++
- 백준
- lv2
- 그리디
- cpp
- java
- JavaScript
- BFS
Archives
- Today
- Total
코드를 느껴바라
1417번 : 국회의원 선거 [C++] 본문
문제 링크
성공 여부(걸린 시간): 성공 (5분)
아이디어
다솜이를 제외한 후보들의 지지자 수에 대해서 우선순위큐에 저장을 해준다.
그리고나서 다솜이보다 다른 후보들이 지지자들이 다솜이의 지지자의 수보다 적을때까지 한명씩 매수를 진행한다.
만약 우선순위큐의 top값이 다솜의 지지자의 수보다 작아지는 순간
반복을 종료하고 매수한 인원수를 출력해준다.
풀이 코드
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
priority_queue<int> pq;
int N;
cin >> N;
int dasom;
cin >> dasom;
for (int i = 1; i < N; i++) {
int num;
cin >> num;
pq.push(num);
}
int answer = 0;
while (!pq.empty() && pq.top()>=dasom) {
int newTop = pq.top()-1;
pq.pop();
pq.push(newTop);
answer++;
dasom++;
}
cout << answer;
return 0;
}반응형
'PS > 백준(Baekjoon)' 카테고리의 다른 글
| 14940번 : 쉬운 최단거리 [C++] (1) | 2025.12.24 |
|---|---|
| 2644번 : 촌수계산 [C++] (0) | 2025.12.24 |
| 15591번 : MooTube (Silver) [C++] (0) | 2025.12.23 |
| 1189번 : 컴백홈 [C++] (0) | 2025.12.21 |
| 10653번 : 마라톤 2 [JAVA] (0) | 2025.12.02 |
