๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/23757)
< ์์ด๋ค๊ณผ ์ ๋ฌผ ์์ >
๋ฌธ์ ํ์ด
์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํด์ ์์์ ์์ ์ด ์ํ๋ ๊ฒ๋ณด๋ค ์ ๊ฒ ๋ค์ด์๋์ง ํ์ธํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
public class _23757_ { // ์์ด๋ค๊ณผ ์ ๋ฌผ ์์
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());
PriorityQueue<Integer> queue = new PriorityQueue<>(Collections.reverseOrder());
st = new StringTokenizer(bf.readLine());
for (int i = 0; i < n; i++) {
queue.add(Integer.parseInt(st.nextToken()));
}
st = new StringTokenizer(bf.readLine());
boolean flag = false;
for (int i = 0; i < m; i++) {
int num = Integer.parseInt(st.nextToken());
int box = queue.poll();
if (box < num) {
flag = true;
break;
}
queue.add(box - num);
}
if (flag)
System.out.println(0);
else
System.out.println(1);
}
}
Main
๋ณ์)
n : ์ ๋ฌผ ์์์ ์
m : ์์ด๋ค์ ์
queue : ์ฐ์ ์์ ํ (๋ด๋ฆผ์ฐจ์)
flag : ๋ชจ๋ ์์ด๋ค์ด ์ํ๋ ๋งํผ ์ ๋ฌผ์ ๊ฐ์ ธ๊ฐ ์ ์๋์ง ์ฌ๋ถ
- ์ ๋ฌผ ์์์ ์ (n), ์์ด๋ค์ ์(m) ์ ๋ ฅ
- ๊ฐ ์์์ ๋ค์ด์๋ ์ ๋ฌผ์ ์๋ฅผ ์ ๋ ฅ๋ฐ์ queue์ ์ ์ฅ
- ์์ด๊ฐ ์ํ๋ ์ ๋ฌผ์ ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ์ queue์ ์ฒซ ๋ฒ์งธ ๊ฐ๋ณด๋ค ์ ๊ฒ ์ํ๋ฉด ๋บ ๊ฐ์ ๋ค์ queue์ ์ ์ฅ But ์ฒซ ๋ฒ์งธ ๊ฐ ๋ณด๋ค ํฐ ๊ฐ์ ์ํ๋ฉด ์ ๋ฌผ์ ๊ฐ์ ธ๊ฐ์ง ๋ชปํ๋ฏ๋ก ์ข ๋ฃ
- flag ์ฌ๋ถ์ ๋ฐ๋ผ ๋ต ์ถ๋ ฅ
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 1655_๊ฐ์ด๋ฐ๋ฅผ ๋งํด์ (0) | 2023.07.19 |
---|---|
[Baekjoon] 14235_ํฌ๋ฆฌ์ค๋ง์ค ์ ๋ฌผ (0) | 2023.07.19 |
[Baekjoon] 19638_์ผํฐ์ ๋ง๋ฒ์ ๋ฟ ๋ง์น (0) | 2023.07.17 |
[Baekjoon] 13975_ํ์ผ ํฉ์น๊ธฐ 3 (0) | 2023.07.14 |
[Baekjoon] 2075_N๋ฒ์งธ ํฐ ์ (0) | 2023.07.13 |