https://www.acmicpc.net/problem/1756
1756번: 피자 굽기
월드피자 원주 지점에서 N개의 피자 반죽을 오븐에 넣고 구우려고 한다. 그런데, 월드피자에서 만드는 피자 반죽은 지름이 제각각이다. 그런가하면, 월드피자에서 사용하는 오븐의 모양도 몹시
www.acmicpc.net
문제
코드
import java.io.*;
import java.util.*;
public class Main {
private static final BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) throws IOException {
StringTokenizer st = new StringTokenizer(bf.readLine());
int d = Integer.parseInt(st.nextToken());
int n = Integer.parseInt(st.nextToken());
int[] oven = new int[d];
int[] pizza = new int[n];
st = new StringTokenizer(bf.readLine());
for(int i = 0 ; i < d ; i++) {
oven[i] = Integer.parseInt(st.nextToken());
if(i > 0 && oven[i-1] <= oven[i]) oven[i] = oven[i-1];
}
st = new StringTokenizer(bf.readLine());
for(int i = 0 ; i < n ; i++) {
pizza[i] = Integer.parseInt(st.nextToken());
}
int ans = 0;
int cnt = 0;
for(int i = d-1 ; i >= 0; i--) {
if(oven[i] >= pizza[cnt]) {
cnt++;
}
if(cnt == n) {
ans = i + 1;
break;
}
}
bw.write(Integer.toString(ans));
bf.close();
bw.flush();
bw.close();
}
}
원래 이렇게 생긴 오븐을
이렇게 나타내서 구했습니다. 이렇게 나타내야 for문 하나로 구현이 가능합니다.
'코딩테스트' 카테고리의 다른 글
[백준] 5582번 '공통 부분 문자열' - Java (1) | 2023.07.29 |
---|---|
[백준] 1937번 '욕심쟁이 판다' - Java (1) | 2023.07.28 |
[백준] 1027번 '고층 건물' - Java (1) | 2023.07.26 |
[백준] 1484번 '다이어트' - Java (0) | 2023.07.25 |
[백준] 2240번 '자두나무' - Java (1) | 2023.07.24 |