๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/14469)
< ์๊ฐ ๊ธธ์ ๊ฑด๋๊ฐ ์ด์ 3 >
๋ฌธ์ ํ์ด
์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
public class _14469_ { // ์๊ฐ ๊ธธ์ ๊ฑด๋๊ฐ ์ด์ 3
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int n = Integer.parseInt(bf.readLine());
PriorityQueue<int[]> queue = new PriorityQueue<>(new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return o1[0] - o2[0];
}
});
for (int i = 0; i < n; i++) {
st = new StringTokenizer(bf.readLine());
queue.add(new int[] { Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()) });
}
int result = 0;
while (!queue.isEmpty()) {
int temp[] = queue.poll();
if(temp[0]<=result) {
result+=temp[1];
}else {
result=temp[0]+temp[1];
}
}
System.out.println(result);
}
}
๋ณ์)
n : ์์ ์ ์
queue : ์ฐ์ ์์ ํ [์์ ๋์ฐฉ ์๊ฐ, ๊ฒ๋ฌธ ์๊ฐ]
result : ๋ชจ๋ ์๊ฐ ๋์ฅ์ ์ ์ฅํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์ต์ ์๊ฐ
์์ ์ ์๋งํผ ์์ ๋์ฐฉ ์๊ฐ๊ณผ ๊ฒ๋ฌธ ์๊ฐ์ ์ ๋ ฅ๋ฐ์ ์ฐ์ ์์ ํ์ ์ ์ฅํ๋ค. ๊ทธ ํ ์ฐจ๋ก๋๋ก ์ฐ์ ์์ ํ์์ ๊บผ๋ธ๋ค. result ๋ณด๋ค ์์ ๋์ฐฉ ์๊ฐ์ด ์ ๊ฑฐ๋ ๊ฐ๋ค๋ฉด ์๊ฐ ๊ฒ๋ฌธ์ ๋ฐ์ ์ ์์ผ๋ฏ๋ก ๊ฒ๋ฌธ ์๊ฐ์ ๋ํด์ค๋ค. result๋ณด๋ค ํฌ๋ค๋ฉด ์๊ฐ ๋์ฐฉํ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ฏ๋ก ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๊ฒ๋ฌธ ์๊ฐ๋ ๋ํด์ค๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 2890_์นด์ฝ (1) | 2024.01.04 |
---|---|
[Baekjoon] 9237_์ด์ฅ๋ ์ด๋ (1) | 2024.01.03 |
[Baekjoon] 11501_์ฃผ์ (1) | 2023.12.29 |
[Baekjoon] 3182_ํ๋์ด๋ ๊ณต๋ถ๊ฐ ํ๊ธฐ ์ซ์ด! (0) | 2023.12.28 |
[Baekjoon] 2847_๊ฒ์์ ๋ง๋ ๋์ค์ด (0) | 2023.12.27 |