https://www.acmicpc.net/problem/1092
๋ฌธ์
์ง๋ฏผ์ด๋ ํญ๊ตฌ์์ ์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ฌผ์ ๋ฐฐ์ ์ค์ด์ผ ํ๋ค. ๋ชจ๋ ํ๋ฌผ์ ๋ฐ์ค์ ์์ ๋ฃ์ด์ ธ ์๋ค. ํญ๊ตฌ์๋ ํฌ๋ ์ธ์ด N๋ ์๊ณ , 1๋ถ์ ๋ฐ์ค๋ฅผ ํ๋์ฉ ๋ฐฐ์ ์ค์ ์ ์๋ค. ๋ชจ๋ ํฌ๋ ์ธ์ ๋์์ ์์ง์ธ๋ค.
๊ฐ ํฌ๋ ์ธ์ ๋ฌด๊ฒ ์ ํ์ด ์๋ค. ์ด ๋ฌด๊ฒ ์ ํ๋ณด๋ค ๋ฌด๊ฑฐ์ด ๋ฐ์ค๋ ํฌ๋ ์ธ์ผ๋ก ์์ง์ผ ์ ์๋ค. ๋ชจ๋ ๋ฐ์ค๋ฅผ ๋ฐฐ๋ก ์ฎ๊ธฐ๋๋ฐ ๋๋ ์๊ฐ์ ์ต์๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N์ด ์ฃผ์ด์ง๋ค. N์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค์๋ ๊ฐ ํฌ๋ ์ธ์ ๋ฌด๊ฒ ์ ํ์ด ์ฃผ์ด์ง๋ค. ์ด ๊ฐ์ 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ์ ์งธ ์ค์๋ ๋ฐ์ค์ ์ M์ด ์ฃผ์ด์ง๋ค. M์ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋ท์งธ ์ค์๋ ๊ฐ ๋ฐ์ค์ ๋ฌด๊ฒ๊ฐ ์ฃผ์ด์ง๋ค. ์ด ๊ฐ๋ 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ชจ๋ ๋ฐ์ค๋ฅผ ๋ฐฐ๋ก ์ฎ๊ธฐ๋๋ฐ ๋๋ ์๊ฐ์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ๋ชจ๋ ๋ฐ์ค๋ฅผ ๋ฐฐ๋ก ์ฎ๊ธธ ์ ์์ผ๋ฉด -1์ ์ถ๋ ฅํ๋ค.
ํ์ด
ํฌ๋ ์ธ๊ณผ ๋ฐ์ค๋ค์ ๋ด๋ฆผ์ฐจ์์ผ๋ก
์ ๋ ฌ โผ๏ธ
if crane์ค ๊ฐ์ฅ ํฐ ๋ฌด๊ฒ ์ ํ < ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ๋ฐ์ค โก๏ธ System.out.println(-1)
else
๐ ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ๋ฐ์ค๋ถํฐ ์ ๊ฑฐ
์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.StringTokenizer;
public class Main_BOJ_1092_๋ฐฐ {
static int N, M;
static List<Integer> cranes, boxes;
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stringTokenizer;
cranes = new ArrayList<>();
boxes = new ArrayList<>();
N = Integer.parseInt(br.readLine());
stringTokenizer = new StringTokenizer(br.readLine());
for(int i = 0 ; i < N ;i++){
cranes.add(Integer.parseInt(stringTokenizer.nextToken()));
}
M = Integer.parseInt(br.readLine());
stringTokenizer = new StringTokenizer(br.readLine());
for(int i = 0 ; i < M ; i++){
boxes.add(Integer.parseInt(stringTokenizer.nextToken()));
}
Collections.sort(cranes, Collections.reverseOrder());
Collections.sort(boxes, Collections.reverseOrder());
if(cranes.get(0) < boxes.get(0))
System.out.println(-1);
else{
int time = 0;
while(!boxes.isEmpty()){
int idx = 0;
for(int i = 0 ; i < cranes.size() ; i++){
if(idx == boxes.size()) break;
else if(cranes.get(i) >= boxes.get(idx))
boxes.remove(idx);
else{
idx++;
i--;
}
}
time++;
}
System.out.println(time);
}
}
}
'์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ๋ฐฑ์ค / BOJ 2583 ] ์์ญ ๊ตฌํ๊ธฐ ( JAVA / ์๋ฐ ) (0) | 2021.11.24 |
---|---|
[ ๋ฐฑ์ค / BOJ 1068 ] ํธ๋ฆฌ ( ์๋ฐ / JAVA ) (0) | 2021.11.24 |
[ ๋ฐฑ์ค / BOJ 2636 ] ์น์ฆ ( ์๋ฐ / JAVA ) (0) | 2021.11.16 |
[ ๋ฐฑ์ค / BOJ 16951 ] ๋ธ๋ก ๋์ด ( ์๋ฐ / JAVA ) (0) | 2021.11.11 |
[ ๋ฐฑ์ค / BOJ 2668 ] ์ซ์๊ณ ๋ฅด๊ธฐ ( ์๋ฐ / JAVA ) (0) | 2021.11.11 |