동캄의 코딩도장

백준 11909 [배열 탈출] 파이썬 본문

코테/BOJ

백준 11909 [배열 탈출] 파이썬

동 캄 2022. 5. 17. 13:31

https://www.acmicpc.net/problem/11909

 

11909번: 배열 탈출

상수는 2차원 배열 A[1..n][1..n] (n≥2, n은 자연수)을 가지고 있습니다. 이 배열의 각 원소는 1 이상 222 이하의 정수입니다. 배열을 가지고 놀던 상수를 본 승현이는, 질투심이 불타올라 상수를 A[1][1]

www.acmicpc.net

# 백준 11909 배열 탈출
import sys
input = sys.stdin.readline
N = int(input())
field = []
val = [[10**6]*(N) for _ in range(N)]
for _ in range(N):
    field.append(list(map(int, input().split())))
val[0][0] = 0

for i in range(N):
    for j in range(N):
        down = i-1
        left = j-1
        if down >= 0:
            if field[down][j] > field[i][j]:
                val[i][j] = min(val[i][j], val[down][j])
            else:
                diff = field[i][j]-field[down][j]
                val[i][j] = min(val[i][j], diff+1+val[down][j])
        if left >= 0:
            if field[i][left] > field[i][j]:
                val[i][j] = min(val[i][j], val[i][left])
            else:
                diff = field[i][j]-field[i][left]
                val[i][j] = min(val[i][j], diff+1+val[i][left])
print(val[N-1][N-1])

(pypy3로 해결하였습니다.)