• 문제 링크
https://www.acmicpc.net/problem/29723
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken()), m = Integer.parseInt(st.nextToken()), k = Integer.parseInt(st.nextToken());
Map<String, Integer> map = new HashMap<>();
while (n-- > 0) {
String s = br.readLine();
int i = s.indexOf(' ');
map.put(s.substring(0, i), Integer.parseInt(s.substring(i + 1)));
}
int sum = 0;
for (int i = 0; i < k; i++) sum += map.remove(br.readLine());
List<Integer> list = new ArrayList<>(map.values());
Collections.sort(list);
int min = sum, i = 0, j = list.size() - 1;
while (m-- > k) {
min += list.get(i++);
sum += list.get(j--);
}
bw.write(min + " " + sum);
bw.flush();
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 32386 KCPC에 등장할 알고리즘 맞히기 - Data Structure / Java (0) | 2025.10.16 |
---|---|
[백준] 22233 가희와 키워드 - Data Structure / Java (0) | 2025.10.16 |
[백준] 3443 Reaux! Sham! Beaux! - Data Structure / Java (0) | 2025.10.13 |
[백준] 9933 민균이의 비밀번호 - Data Structure / Java (0) | 2025.10.12 |
[백준] 9512 Languages - Data Structure / Java (0) | 2025.10.11 |
댓글