Dailelog
백준 1092 배 - java 본문
배 성공
시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 | 128 MB | 19498 | 4786 | 3383 | 24.070% |
문제
지민이는 항구에서 일한다. 그리고 화물을 배에 실어야 한다. 모든 화물은 박스에 안에 넣어져 있다. 항구에는 크레인이 N대 있고, 1분에 박스를 하나씩 배에 실을 수 있다. 모든 크레인은 동시에 움직인다.
각 크레인은 무게 제한이 있다. 이 무게 제한보다 무거운 박스는 크레인으로 움직일 수 없다. 모든 박스를 배로 옮기는데 드는 시간의 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보다 작거나 같은 자연수이다. 넷째 줄에는 각 박스의 무게가 주어진다. 이 값도 1,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 모든 박스를 배로 옮기는데 드는 시간의 최솟값을 출력한다. 만약 모든 박스를 배로 옮길 수 없으면 -1을 출력한다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.*;
public class Back_1092 {
public static void main(String[] args) {
String[] buffer = new String [4];
ArrayList<Integer> crane;
ArrayList<Integer> box;
int N = 0;
int M = 0;
int min = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
for(int i = 0; i < buffer.length; i++)
{
buffer[i] = br.readLine();
}
} catch (Exception e) {
// TODO: handle exception
}
N = Integer.parseInt(buffer[0]);
crane = new ArrayList<>();
String[] bufferArr = buffer[1].split(" ");
for(int i = 0; i < N; i++)
{
crane.add(Integer.parseInt(bufferArr[i]));
}
M = Integer.parseInt(buffer[2]);
box = new ArrayList<>();
String[] boxWeightArr = buffer[3].split(" ");
for(int i = 0; i < M; i++)
{
box.add(Integer.parseInt(boxWeightArr[i]));
}
Collections.sort(crane,Comparator.reverseOrder());
Collections.sort(box,Comparator.reverseOrder());
if(box.get(0) > crane.get(0))
{
System.out.println(-1);
return;
}
while(!box.isEmpty()) {
int idx =0;
for(int i=0; i< N; ) {
if(idx == box.size()) break;
else if(crane.get(i) >= box.get(idx)) {
box.remove(idx);
i++;
}else idx++;
}
min++;
}
System.out.println(min);
}
}
LIST
'알고리즘' 카테고리의 다른 글
백준 5430 AC - java (0) | 2023.02.14 |
---|---|
백준 1267 핸드폰 요금 -java (1) | 2023.02.14 |
백준 2455 지능형 기차- java (0) | 2023.02.10 |
백준 3003 킹, 퀸, 룩, 비숍, 나이트, 폰 - java (0) | 2023.02.10 |
2941 크로아티아 알파벳 - java (0) | 2023.02.10 |