코드업 6098번 예제인 성실한 개미는 10*10 사이즈의 판에 길은 0, 벽은 1, 먹이는 2로 표현해서 개미가 길을 따라가면서 먹이를 찾는 프로그램을 만드는 문제입니다.
작동순서
10*10 사이즈의 판을 생성한다.
미로의 구조를 입력받는다.
개미는 오른쪽으로 우선 이동하고 오른쪽이 막힌 경우 아래쪽으로 이동한다.
개미는 먹이를 찾을 경우 그 자리에서 멈춰서고 프로그램이 종료된다.
개미가 더 이상 이동할 곳이 없을 경우 그 자리에서 멈춰서고 프로그램이 종료된다.
소스코드
d=[[0]*10 for i in range(10)]#10*10크기 미로 생성
for i in range(10):
n=input().split()#미로의 구조를 입력받는다.
for j in range(10):#미로의 구조를 생성
d[i][j]=int(n[j])
x=1#테두리는 모두 벽이므로 1,1을 초기값으로 지정
y=1
while True:
d[x][y]=9#현재 자신이 있는 자리를 지나간 경로로 표시
if d[x][y+1]==0:#오른쪽 칸이 0인 경우 오른쪽 칸으로 이동
y+=1
elif d[x+1][y]==0:#아래쪽 칸이 0인 경우 아래쪽 칸으로 이동
x+=1
elif d[x][y+1]==2:#오른쪽 칸이 2인 경우 오른쪽 칸에 경로를 표시하고 종료
d[x][y+1]=9
break
elif d[x+1][y]==2:#아래쪽 칸이 2인 경우 아래쪽 칸에 경로를 표시하고 종료
d[x+1][y]=9
break
else:#더 이상 이동할 곳이 없을 경우 종료
break
print("미로 출력")
for i in range(10):
for j in range(10):
print(d[i][j],end=' ')
print()