도우가 내려올 때 그 도우만큼 오븐의 크기가 충분히 커야지 밑으로 내려갈 수 있다. 이점을 잘 생각해보면 밑에 오븐은 아무리 커도 위에 오븐 크기보다 큰 도우를 맞이할 수 없다.
그래서 오븐의 크기를 재정의 해볼 수 있다. 예를 들어 예제 입력 1
5 6 4 3 6 2 3
5 5 4 3 3 2 2로 변경할 수 있다.
두번재 6은 첫번째 오븐 크기 5보다 크기 때문에 어차피 밑으로 5이상 크기의 도우가 내려갈 수 없다. 그러므로 5로 갱신한다. 다음 다다음도 마찬가지이다.
오븐 크기를 재정의 한뒤 반죽을 넣어보면 된다.
오븐의 끝 부터 도우를 하나씩 채워나가면 된다.(오븐 리스트를 역순회해서 도우를 하나씩 집어넣어보기)
#백준 1756, 피자
D, N = map(int, input().split())
depth = list(map(int, input().split()))
pizza = list(map(int, input().split()))
for i in range(D-1):
if depth[i] < depth[i+1]:
depth[i+1] = depth[i]
idx = 0
for i in range(D-1, -1, -1):
if pizza[idx] <= depth[i]:
idx += 1
if idx == N:
print(i+1)
break
else: print(0)
2025-07-09T15:32:00.483Z