백준공부/java

[백준] 1092번 배 (gold 5

gomduri43 2023. 4. 3. 10:06

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st;
        int n = Integer.parseInt(br.readLine());
        ArrayList<Integer> crane = new ArrayList<>();
        st = new StringTokenizer(br.readLine());
        //크레인 저장,
        for (int i = 0; i < n; i++) {
            crane.add(Integer.parseInt(st.nextToken()));
        }
        Collections.sort(crane);
        //화역물
        int m = Integer.parseInt(br.readLine());
        st = new StringTokenizer(br.readLine());
        ArrayList<Integer> box = new ArrayList<>();
        for (int i = 0; i < m; i++) {
            box.add(Integer.parseInt(st.nextToken()));
        }
        //화역물 정렬
        Collections.sort(box);

        int total=0;
        if (box.get(box.size()-1) > crane.get(crane.size()-1)) {
            bw.write(-1 + "");
            bw.flush();
        }
        else{
            while(true) {
                int j=box.size()-1;
                if(j==-1){
                    break;
                }
                for (int i = (crane.size() - 1); i >= 0; i--) {
                    for (; j >= 0; ) {
                        if (crane.get(i) >= box.get(j)) {
                            box.remove(j);
                            j-=1;
                            break;
                        }
                        else{
                            j--;
                        }

                    }
                }
                total++;
            }
            bw.write(total+"");
            bw.flush();
        }


    }
}