풀이
- 담을 수 있는 가장 큰 박스부터 큰 크레인에 실어야하니까 둘 다 내림차순 정렬로 데이터를 넣고 한바퀴 돌릴때마다 answer++ 해줬다. 정렬만 하면 쉬운 문제 😮
package problem_solving.deque;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class BaekJoon_1092 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = Integer.parseInt(sc.next());
List<Integer> cranes = new ArrayList<>();
List<Integer> boxs = new ArrayList<>();
for(int i= 0 ; i < n ; i++) {
cranes.add(Integer.parseInt(sc.next()));
}
int m = Integer.parseInt(sc.next());
for(int i= 0 ; i < m ; i++) {
boxs.add(Integer.parseInt(sc.next()));
}
cranes.sort(Collections.reverseOrder());
boxs.sort(Collections.reverseOrder());
if( cranes.get(0) < boxs.get(0)) {
System.out.println(-1);
return ;
}
int answer = 0 ;
while(!boxs.isEmpty()) {
for(int i= 0 ; i < n ; i++) {
for(int j = 0 ; j < boxs.size() ; j++) {
if( cranes.get(i) >= boxs.get(j)) {
boxs.remove(j);
break;
}
}
}
answer++;
}
System.out.println(answer);
}
}