강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

깨위님의 프로필 이미지
깨위

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

11. 등산 경로(DFS)

등산경로 코드 중에..

작성

·

267

0

 
 
 
여기서 for문안에 if 문돌 때 논리연산항 순서를 바꾸면 제대로 출력이 안됩니다.
제가 각각괄호를 묶고 다 해봤는데도 정상출력이 안돼서 질문남겨요..
 
 
def DFS(x,y):
global cnt
if x == ex and y ==ey:
cnt +=1
else :
for k in range(4):
xx = dx[k]+x
yy=dy[k]+y
if 0<=xx<n and 0<=yy<n and ch[xx][yy]==0 and board[xx][yy]>board[x][y] :
ch[xx][yy]=1
DFS(xx,yy)
ch[xx][yy]=0
 
노란색을 친 부분 순서를 바꾸면, 제대로 출력이 안됩니다.
 
제가 썼던 코드는
if 0<=xx<n and 0<=yy<n and board[xx][yy]>board[x][y] and ch[xx][yy]==0:
 
입니다. 연상 항의 순서만 바꿔도 오류가 납니다. 이유가 뭘까요?
 
 
 
 
 
 
 
 

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
깨위님의 프로필 이미지
깨위

작성한 질문수

질문하기