[Algorithm/Java] SWEA 5201번 - 컨테이너 운반
🔍 문제 풀이
문제 도식화
풀이 방법
🐙🎓 문어박사 IT편의점 선생님의 TIP
- 이런 문제는 규칙성을 찾는 게 중요
- 정렬 후 규칙성을 찾자
💻 전체 코드
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);
}
}
}
댓글남기기