๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/1758)
< ์๋ฐ์ ๊ฐํธ >
๋ฌธ์ ํ์ด
ํ์ ์ต๋๊ฐ์ ๊ตฌํ๊ธฐ ์ํด์๋ ํ์ด ๋ง์ ์์๋๋ก ์๋์ ์์๋ฅผ ๋ฐ๊พธ๋ฉด ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.PriorityQueue;
public class _1758_ { // ์๋ฐ์ ๊ฐํธ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
PriorityQueue<Integer> queue = new PriorityQueue<>(Collections.reverseOrder());
for (int i = 0; i < n; i++) {
queue.add(Integer.parseInt(bf.readLine()));
}
long result = 0;
int idx = 1;
while (!queue.isEmpty()) {
int num = queue.poll() - (idx++ - 1);
if (num > 0)
result += num;
}
System.out.println(result);
}
}
Main
๋ณ์)
n : ์ฌ๋ ์
queue : ์ฐ์ ์์ ํ
idx : ์๋ ์์
result : ํ์ ์ต๋๊ฐ
- ์ฌ๋ ์(n) ์ ๋ ฅ
- ๊ฐ ์ฌ๋์ด ์ฃผ๋ ค๊ณ ํ๋ ํ์ ์ ๋ ฅ๋ฐ์ ์ฐ์ ์์ ํ์ ์ ์ฅ
- ์ฐ์ ์์ ํ๊ฐ ๋น ๋๊น์ง ๋ฐ๋ณต
: ๋ - (๋ฐ์ ๋ฑ์ idx - 1) ๊ณ์ฐ
: ๊ณ์ฐํ ๊ฐ์ด ์์๊ฐ ์๋๋ผ๋ฉด result์ ๋ํจ
- ํ์ ์ต๋๊ฐ(result) ์ถ๋ ฅ
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 6146_์ ์๋ฅผ ๋ง๋๋ฌ (1) | 2023.10.02 |
---|---|
[Baekjoon] 15688_์ ์ ๋ ฌํ๊ธฐ 5 (0) | 2023.09.29 |
[Baekjoon] 2012_๋ฑ์ ๋งค๊ธฐ๊ธฐ (0) | 2023.09.27 |
[Baekjoon] 18310_์ํ ๋ (0) | 2023.09.26 |
[Baekjoon] 11536_์ค ์ธ์ฐ๊ธฐ (0) | 2023.09.25 |