최대 1 분 소요



컨테이너 운반



🔍 문제 풀이

문제 도식화

투포인터를 사용하면 간단히 풀리는 문제이다.

assets/images/2025/SWEA 5201.jpg



💻 전체 코드

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[] w = new Integer[n];
            Integer[] t = new Integer[m];

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

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

            // 정렬
            Arrays.sort(w, Comparator.reverseOrder());
            Arrays.sort(t, Comparator.reverseOrder());

            // 컨테이너 운반
            int sum = 0, ti = 0, wi = 0;
            while(wi <n && ti <m){
                if(t[ti] >= w[wi]){
                    sum += w[wi];
                    ti++; wi++;
                } else{
                    wi++;
                }
            }


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


카테고리:

업데이트:

댓글남기기