미로찾기 Maze
[[0,0,0,0,0,0,0,1], [0,1,1,0,1,1,0,1], [0,0,0,1,0,0,0,1], [0,1,0,0,1,1,0,0], [0,1,1,1,0,0,1,1], [0,1,0,0,0,1,0,1], [0,0,0,1,0,0,0,1], [0,1,1,1,0,1,0,0]]위는 미로를 표현한 2차원 리스트이다. 1은 벽이라 통과할 수 없고 0은 통로이다. 출발점은 [0][0]이고 출구는 [n-1][n-1]인 지점이다. 순환적 사고현재 위치에서 출구까지 가는 경로가 있으려면1) 현재 위치가 출구이거나 혹은2) 이웃한 셀들 중 하나에서 현재 위치를 지나지 않고 출구까지 가는 경로가 있거나 def findpath(x,y):if maze[x][y] == exit: return True #현 위치가 출구라면 Tru..
순환의 개념과 기본 예제 3
순환 함수의 기본 조건적어도 하나의 base case, 순환되지 않고 종료되는 case가 있어야 함.모든 case는 base case로 수렴해야 함. 암시적 매개변수가 아닌 명시적 매개변수를 사용해야 함 def search(data,n,target): for i in range(n): if data[i] == target: return i return -1 data = [1,2,3,4,5,6,7] print(search(data,7,4))암시적 : 리스트 data의 인덱스는 0부터 n-1이라고 생각하고 시작 인덱스는 생략함. def search(data,begin,end,target): if begin > end: # base case return -1 elif target==data[begin]:ret..