문제 설명
주어진 규칙에 따라 개미가 움직인 방향에 해당되는 미로 상자를 출력하자
풀이
box = []
for i in range(10):
box.append([])
for j in range(10):
box[i].append(0)
for i in range(10):
box[i] = list(map(int, input().split()))
x = 0
y = 0
while (True):
if (box[1+y][1+x] != 1):
box[1+y][1+x] = 9
x += 1
else:
x -= 1
y += 1
if(box[1+y][1+x] == 1):
break
if (box[1+y][1+x] == 2):
box[1+y][1+x] = 9
break
for i in range(10):
for j in range(10):
print(box[i][j], end=' ')
print()
해설
2차월 배열 box를 선언한다
무한 루프내에서 개미의 시작위치 (2, 2)부터 벽인지 아닌지 검사하고 아니면 해당 위치에 9를 대입 후 x좌표를 증가 시킨다
만약 x좌표를 증가 시킨 후 벽에 충돌하면 다시 감소 후 y좌표를 증가 시킨다.
이때 y좌표를 증가 시켰는데 벽에 충돌하면 게임 끝이므로 무한루프를 탈출한다
x좌표 또는 y좌표를 증가 시킨 후 해당 좌표에 2가 존재하면 해당 좌표에 9를 대입 후 게임 종료 시킨다
다른 분 풀이
array = []
for i in range(10):
array.append(list(map(int, input().split())))
x, y = 1, 1
while True:
if (array[x][y] == 0):
array[x][y] = 9
elif (array[x][y] == 2):
array[x][y] = 9
break
if ((array[x][y+1] == 1 and array[x+1][y] == 1)):
break
if (array[x][y+1] != 1):
y = y + 1
elif (array[x+1][y] != 1):
x = x + 1
for i in range(10):
for j in range(10):
print(array[i][j], end=' ')
print()
'Code Up' 카테고리의 다른 글
[Code Up] - Python 기초 100제, 6097번 풀이 - 티스토리 (0) | 2023.08.08 |
---|---|
[Code Up] - Python 기초 100제, 6096번 풀이 - 티스토리 (0) | 2023.08.07 |
[Code Up] - Python 기초 100제, 6095번 풀이 - 티스토리 (0) | 2023.08.06 |
[Code Up] - Python 기초 100제, 6094번 풀이 - 티스토리 (0) | 2023.08.06 |
[Code Up] - Python 기초 100제, 6093번 풀이 - 티스토리 (0) | 2023.08.06 |