๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/2865)
< ๋๋ ์๋ํ ์ํผ์คํK >
๋ฌธ์ ํ์ด
๊ฐ ์ฅ๋ฅด๋ง๋ค ์ฐธ๊ฐ์์ ๋ฅ๋ ฅ์ ๋ณด๋ฉด์ ๊ฐ ์ฐธ๊ฐ์๋ง๋ค ๋ฅ๋ ฅ์ด ๋์ ๊ฐ์ ์ฐพ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class _2865_ { // ๋๋ ์๋ํ ์ํผ์คํK
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int k = Integer.parseInt(st.nextToken());
double[] arr = new double[n + 1];
for (int i = 0; i < m; i++) {
st = new StringTokenizer(bf.readLine());
for (int j = 0; j < n; j++) {
int num = Integer.parseInt(st.nextToken());
double score = Double.parseDouble(st.nextToken());
if (arr[num] < score) {
arr[num] = score;
}
}
}
Arrays.sort(arr);
double result = 0.0;
for (int i = n; i > n - k; i--) {
result += arr[i];
}
System.out.println(String.format("%.1f", result));
}
}
๋ณ์)
n, m, k : ์ฅ๋ฅด์ ์, ์ฌ๋ ์, ๋ณธ์ ์ ๋๊ฐ๋ ์ฌ๋ ์
arr : ๊ฐ ์ฐธ๊ฐ์์ ์ต๋ ๋ฅ๋ ฅ
num, score : ์ฐธ๊ฐ์ ๋ฒํธ, ์ฐธ๊ฐ์์ ๋ฅ๋ ฅ
result : ์ฐธ๊ฐ์์ ๋ฅ๋ ฅ์ ํฉ
์ฅ๋ฅด์ ์, ์ฌ๋์ ์, ๋ณธ์ ์ ๋๊ฐ๋ ์ฌ๋ ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
๊ฐ ์ฅ๋ฅด๋ง๋ค ์ฐธ๊ฐ์์ ๋ฒํธ์ ์ฐธ๊ฐ์์ ์ฅ๋ฅด์ ๋ํ ๋ฅ๋ ฅ์ ์ ๋ ฅ๋ฐ์ผ๋ฉฐ ๊ฐ ์ฐธ๊ฐ์์ ์ต๋ ๋ฅ๋ ฅ ๊ฐ์ ์ฐพ๋๋ค.
์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ ํ ๋ค์์๋ถํฐ k๋ช ์ ๋ฅ๋ ฅ ํฉ์ ๊ตฌํ์ฌ ์์์ ์ฒซ์งธ ์๋ฆฌ๊น์ง ๋ฐ์ฌ๋ฆผํด ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 19637_IF๋ฌธ ์ข ๋์ ์จ์ค (1) | 2024.01.30 |
---|---|
[Baekjoon] 10431_์ค์ธ์ฐ๊ธฐ (1) | 2024.01.29 |
[Baekjoon] 2799_๋ธ๋ผ์ธ๋ (1) | 2024.01.25 |
[Baekjoon] 10384_ํฌ๊ทธ๋จ (0) | 2024.01.15 |
[Baekjoon] 1865_์ํ (0) | 2024.01.12 |