모든 열을 확인하는 것은 비효율 적이므로,
도착지 열에서 역으로 탐색하여
출발지 열번호를 확인하면 된다.
왼쪽 오른쪽 위를 확인하여, 1인 곳을 ch 배열 값을 1로 바꿔준다.
...
이 방식으로 계속 타고 올라가면
열 번호가 0되었을 때 좌표를 확인하면 된다.
import sys
sys.stdin = open("input.txt", "rt")
def DFS(x,y) :
ch[x][y] = 1
if x == 0:
print(y)
else:
if y-1 >= 0 and board[x][y-1] ==1 and ch[x][y-1] == 0:
DFS(x, y-1)
elif y+1<10 and board[x][y+1]==1 and ch[x][y+1]==0:
DFS(x, y+1)
else:
DFS(x-1, y)
if __name__ == "__main__":
board=[list(map(int,input().split())) for _ in range(10)]
ch = [[0] * 10 for _ in range(10)]
for y in range(10):
if board[9][y] == 2:
DFS(9,y)