Post

🦊 피자 굽기

1. 문제 링크

1756번: 피자 굽기


2. 코드

Python3 77796kb 336ms

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
D, N = map(int, input().split())

OVEN_DEPTH = list(map(int, input().split()))
PIZZA_COMPLETE_ORDER = list(map(int, input().split()))

# 중간 칸이 아무리 넓어도 위에 칸보다 덜 들어감
for i in range(D - 1):
    OVEN_DEPTH[i + 1] = min(OVEN_DEPTH[i + 1], OVEN_DEPTH[i])


count = 0
for i in range(D - 1, -1, -1):
    if PIZZA_COMPLETE_ORDER[count] > OVEN_DEPTH[i]:
        continue
    
    count += 1
    if count >= N:
        print(i + 1)
        exit(0)

print(0)


3. 해설

  • 해설

    오븐의 중간칸이 아무리 넓어도 중간에 비집고 들어갈 수 없기 때문에 위의 칸과 비교하여 최소값을 가져옴

    이후 피자와 오븐의 맨 아랫칸부터 비교하여 채워줌

This post is licensed under CC BY 4.0 by the author.