문제(출처: https://www.acmicpc.net/problem/31307)
< Lines Per Hour >
문제 풀이
loc를 입력받아 오름차순으로 정렬 후 합이 5*lph 이하일 때까지 가능한 개수를 구한다.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class _31307_ { // Lines Per Hour
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 x = Integer.parseInt(st.nextToken()) * 5;
int arr[] = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(bf.readLine());
}
Arrays.sort(arr);
int sum = 0;
boolean flag = false;
for (int i = 0; i < n; i++) {
sum += arr[i];
if (sum > x) {
System.out.println(i);
flag = true;
break;
}
}
if (!flag) {
System.out.println(n);
}
}
}
변수)
n, x : 후보 수, 5시간 동안 처리할 수 있는 양
arr : loc
sum : 합
n과 lph를 입력받아 5시간 동안 처리할 수 있는 양을 x에 저장한다. n만큼 loc를 입력받아 배열에 저장하고 배열을 오름차순으로 정렬한다. 배열의 합을 구하면서 합이 x를 초과했을 때 더한 개수를 출력한다.
'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글
[Baekjoon] 32328_Bronze Count (0) | 2025.01.08 |
---|---|
[Baekjoon] 5104_NoMoPhobia (0) | 2025.01.06 |
[Baekjoon] 9979_Does This Make Me Look Fat? (0) | 2024.12.26 |
[Baekjoon] 27035_Bovine Ballroom Dancing (0) | 2024.12.24 |
[Baekjoon] 13281_Look for the Winner! (0) | 2024.12.23 |