작성
·
194
0
안녕하세요 강사님. 질문이 있어서 남기겠습니다.
혹시 여기서 print(y)로는 7이 반환되는데 return y를 하면 왜 None이 반환되나요?
답변 3
0
0
board = [list(map(int, input().split())) for _ in range(10)] #10x10 2차원 리스트
check = [[0] * 10 for _ in range(10)] #방문 체크 리스트
dy = [-1,1] #좌우만 확인하면돼
for i in range(10):
if board[9][i] == 2: #도착지점이라면
x, y = 9, i
break
res = 0
def DFS(x,y): #행, 열
check[x][y] = 1 #방문처리
if x == 0: #시작지점 도달. 종료조건
print(y)
#return y
else: #y-1, y+1에 대한 조건부터 먼저 나왔어야해. 인덱스 오류를 막기 위해서
if y-1>=0 and board[x][y-1] == 1 and check[x][y-1] == 0:
#인덱스 오류가 아니면서 첫 방문이면서 좌에 사다리 있으면 그쪽으로.
DFS(x, y-1)
elif y+1 < 10 and board[x][y+1] == 1 and check[x][y+1] == 0:
DFS(x, y+1)
else:
DFS(x-1,y)
DFS(x,y)
여기서 왜 return y는 안되는 것인지 궁금합니다
0