728x90
📍 금고털이
가치가 가장 높은순서대로 가방에 넣어줄 것이기 때문에 가치를 기준으로 내림차순 한다.
Arrays.sort(array, (o1, o2) -> o2[1] - o1[1]);
✨ 전체코드 ✨
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(sc.readLine());
int W = Integer.parseInt(st.nextToken());
int N = Integer.parseInt(st.nextToken());
int[][] array = new int[N][2];
for(int i=0; i<N; i++){
st = new StringTokenizer(sc.readLine());
array[i][0] = Integer.parseInt(st.nextToken());
array[i][1] = Integer.parseInt(st.nextToken());
}
Arrays.sort(array, (o1, o2) -> o2[1] - o1[1]);
int weight = 0;
int total = 0;
for(int i=0; i<array.length; i++){
if(W - weight > array[i][0]){
total += array[i][0] * array[i][1];
weight += array[i][0];
} else {
total += ((W-weight) * array[i][1]);
break;
}
} System.out.println(total);
}
}
🌀 성능
- 메모리 : 79.62 MB
- 시간 : 1,951 ms
'Algorithm > Softeer' 카테고리의 다른 글
[JAVA | Softeer] 나무 출력 | 메리 크리스마스 (0) | 2024.07.30 |
---|---|
[JAVA | Softeer] 바이러스 🦠 (0) | 2024.06.29 |
[JAVA | Softeer] 8단 변속기 (0) | 2024.06.28 |
[JAVA | Softeer] A+B | 효도의 시작 | 근무 시간 | 주행거리 비교하기 | 개표 | 연탄 배달의 시작 | Tren del Fin del Mundo | 나무 심기 | 위험한 효도 (0) | 2024.06.27 |