๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/23895)
< Allocation >
๋ฌธ์ ํ์ด
์ฃผํ์ ๊ฐ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ๊ตฌ๋งคํ ์ ์๋ ์ฃผํ์ ์ต๋ ์๋ฅผ ๊ตฌํ๋ค.
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.Arrays;
import java.util.StringTokenizer;
public class _23895_ { // Allocation
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());
for (int i = 0; i < T; i++) {
st = new StringTokenizer(bf.readLine());
int N = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
st = new StringTokenizer(bf.readLine());
int arr[] = new int[N];
for (int j = 0; j < N; j++) {
arr[j] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
int cnt = 0;
for (int j = 0; j < N; j++) {
if (B - arr[j] >= 0) {
B -= arr[j];
cnt += 1;
}
}
bw.write("Case #" + (i + 1) + ": " + cnt + "\n");
}
bw.flush();
}
}
๋ณ์)
T : ํ ์คํธ ์ผ์ด์ค ์
N, B : ์ฃผํ ์, ์ง์ถํ ์์ฐ
arr : ์ฃผํ ๋น์ฉ
cnt : ๊ตฌ๋งคํ ์ ์๋ ์ฃผํ์ ์ต๋ ์
ํ ์คํธ ์ผ์ด์ค ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ํ ์คํธ ์ผ์ด์ค ์๋งํผ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) ์ฃผํ ์ N๊ณผ ์ง์ถํ ์์ฐ B๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
2) ์ฃผํ ์๋งํผ ์ฃผํ ๋น์ฉ์ ์ ๋ ฅ๋ฐ์ ๋ฐฐ์ด arr์ ์ ์ฅํ๋ค.
3) ๋ฐฐ์ด arr๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
4) ๋ฐฐ์ด arr์ ์์ฐจ ํ์ํ๋ฉฐ ๊ตฌ๋งคํ ์ ์๋ ์ฃผํ์ ์ต๋ ์๋ฅผ ๊ตฌํ๋ค.
์ต์ข ๊ตฌ๋งคํ ์ ์๋ ์ฃผํ์ ์ต๋ ์๋ฅผ ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 5614_ๅ้ก 3 (0) | 2025.03.31 |
---|---|
[Baekjoon] 24755_Election Paradox (0) | 2025.03.27 |
[Baekjoon] 6566_์ ๋๊ทธ๋จ ๊ทธ๋ฃน (0) | 2025.03.25 |
[Baekjoon] 11597_Excellence (0) | 2025.03.24 |
[Baekjoon] 6123_O Those Fads (0) | 2025.03.21 |