미로 상자의 구조와 먹이의 위치가 입력될 때 개미가 이동한 경로를 9로 표시해 출력하는 코드 작성
box = [list(map(int, input().split())) for _ in range(10)]
start = [1, 1]
dy = [0, 1]
dx = [1, 0]
def find(location):
y, x = location
box[y][x] = 9
for i in range(len(dy)):
point = box[y+dy[i]][x+dx[i]]
if point == 0:
y += dy[i]
x += dx[i]
find([y, x])
break
if point == 1:
continue
if point == 2:
y += dy[i]
x += dx[i]
box[y][x] = 9
break
find(start)
for item in box:
print(*item)
[1, 1]
및 탐색방향(dy
, dx
)을 설정point
)point
가 0일 때 현재 위치를 변환하고 다시 find()
호출point
가 1일 때 다른 방향을 탐색하고, point
가 2일 때 해당 위치 값을 9로 변경 및 재귀함수 탈출box
배열 언패킹 후 출력cf) DFS 알고리즘에서 격자 내 자기 자신의 위치를 이동하기 위한 dy
, dx
값은 아래 사진과 같음 (출처 : Tanvir Sojal / Youtube)