728x90

📍 금고털이

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai

 

 

 

 

 

 

가치가 가장 높은순서대로 가방에 넣어줄 것이기 때문에 가치를 기준으로 내림차순 한다.

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