최대 1 분 소요



컨테이너 운반



🔍 문제 풀이

문제 도식화


풀이 방법

🐙🎓 문어박사 IT편의점 선생님의 TIP

  1. 이런 문제는 규칙성을 찾는 게 중요
  2. 정렬 후 규칙성을 찾자

assets/images/2025/SWEA 5201.png



💻 전체 코드

import java.io.*;
import java.util.*;

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int test = Integer.parseInt(br.readLine());
        for(int tc = 1; tc<= test; tc++) {
            // 입력 및 초기화
            StringTokenizer st = new StringTokenizer(br.readLine());
            int n = Integer.parseInt(st.nextToken());
            int m = Integer.parseInt(st.nextToken());

            Integer[] tArr = new Integer[n];
            Integer[] wArr = new Integer[m];

            st = new StringTokenizer(br.readLine());
            for(int i=0; i<n; i++){
                tArr[i] = Integer.parseInt(st.nextToken());
            }

            st = new StringTokenizer(br.readLine());
            for(int i=0; i<m; i++){
                wArr[i] = Integer.parseInt(st.nextToken());
            }

            // 정렬
            Arrays.sort(tArr, Comparator.reverseOrder());
            Arrays.sort(wArr, Comparator.reverseOrder());

            // 컨테이너 운반
            int wIdx = 0, cnt = 0;

            for(int i=0; i<n; i++){
                if(wIdx >= m) break; // 트럭이 다 사용되었으면 종료

                if(wArr[wIdx] >= tArr[i]){
                    cnt += tArr[i];
                    wIdx ++; // 다음 트럭으로
                }
            }

            System.out.println("#" + tc + " " + cnt);
        }
    }
}


카테고리:

업데이트:

댓글남기기