๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/11256)
< ์ฌํ >
๋ฌธ์ ํ์ด
์ต์ํ์ ์์ ๊ฐ์๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์์๊ฐ ํฐ ์์๋๋ก ์ ๋ ฌ ํ ์ฌํ์ ๋ด์ ์ ์๋ ๋งํผ ๋ด์ผ๋ฉด ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
public class _11256_ { // ์ฌํ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int t = Integer.parseInt(bf.readLine());
PriorityQueue<Integer> queue = new PriorityQueue<>(Collections.reverseOrder());
for (int i = 0; i < t; i++) {
st = new StringTokenizer(bf.readLine());
int j = Integer.parseInt(st.nextToken());
int n = Integer.parseInt(st.nextToken());
int result = 0;
for (int k = 0; k < n; k++) {
st = new StringTokenizer(bf.readLine());
int r = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
queue.add(r * b);
}
while (j > 0) {
result += 1;
j -= queue.poll();
}
bw.write(result + "\n");
queue.clear();
}
bw.flush();
}
}
Main
๋ณ์)
t : ํ ์คํธ ์ผ์ด์ค ๊ฐ์
queue : ์ฐ์ ์์ ํ(๋ด๋ฆผ์ฐจ์)
j : ์ฌํ์ ๊ฐ์
n : ์์์ ๊ฐ์
result : ์ต์ํ์ ์์ ๊ฐ์
r : ์์์ ์ธ๋ก ๊ธธ์ด
b : ์์์ ๊ฐ๋ก๊ธธ์ด
- ํ ์คํธ ์ผ์ด์ค ๊ฐ์(t) ์ ๋ ฅ
- ํ ์คํธ ์ผ์ด์ค ์(t) ๋งํผ ๋ฐ๋ณตํด์ ์ ๋ ฅ
: ์ฌํ์ ๊ฐ์(j), ์์์ ๊ฐ์(n) ์ ๋ ฅ
: ์์์ ๊ฐ์(n) ๋งํผ ๋ฐ๋ณตํด์ ์์์ ์ธ๋ก ๊ธธ์ด, ๊ฐ๋ก๊ธธ์ด ์ ๋ ฅ ํ [ ์ธ๋ก ๊ธธ์ด x ๊ฐ๋ก๊ธธ์ด ]๋ฅผ ์ฐ์ ์์ ํ์ ์ ์ฅ
: ์ฌํ์ ๋ค ๋ด์ ๋๊น์ง ์ฐ์ ์์ ํ์์ ์์๋ฅผ ๊บผ๋ด ๋ด๊ธฐ
: ์ต์ํ์ ์์ ๊ฐ์(result) ์ถ๋ ฅ
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 18310_์ํ ๋ (0) | 2023.09.26 |
---|---|
[Baekjoon] 11536_์ค ์ธ์ฐ๊ธฐ (0) | 2023.09.25 |
[Baekjoon] 10819_์ฐจ์ด๋ฅผ ์ต๋๋ก (0) | 2023.09.21 |
[Baekjoon] 11497_ํต๋๋ฌด ๊ฑด๋๋ฐ๊ธฐ (0) | 2023.09.20 |
[Baekjoon] 1969_DNA (0) | 2023.09.19 |