Python으로 구현한 6098번 성실한 개미 문제 풀이입니다.
https://codeup.kr/problem.php?id=6098
p = [[] * 10 for _ in range(10)]
for i in range(10) :
p[i] = list(map(int, input().split()))
x = 1
y = 1
p[x][y] = 9
while(1) :
if p[x][y] == 2 :
p[x][y] = 9
break
if p[x][y+1] != 1 :
p[x][y] = 9
y += 1
else :
if p[x+1][y] != 1 :
p[x][y] = 9
x += 1
else :
p[x][y] = 9
break
for i in range(10) :
for j in range(10) :
print(p[i][j], end = ' ')
print()
우선 10 * 10 크기의 미로 상자의 구조와 먹이의 위치를 입력받고 문제에서 개미는 (2, 2)에서 출발하기 때문에
x와 y의 값을 1로 설정한다. (위 코드에서는 리스트를 0부터 계산하기 때문에 2에 1을 뺀 값으로 설정)
또한 출발지점은 방문하였기 때문에 해당 좌표를 9로 갱신하여 방문처리를 해준다.
반복문을 통해 만약 해당좌표 값이 2라면 그 위치의 값을 9로 갱신하고 먹이에 도달했기 때문에 반복문을 종료한다.
만약 해당좌표의 오른쪽 값이 1이 아니라면 개미가 갈 수 있는 곳이기 때문에 현재의 위치를 방문처리해주고 오른쪽으로
이동한다. 해당좌표의 오른쪽 값이 1이라면 다시 조건문을 통해 현재 위치에서의 아래 값을 확인하여 그 값이 1이 아니라면
개미가 갈 수 있는 곳이기 때문에 현재의 위치를 방문처리해주고 아래쪽으로 이동한다.
최종적으로 성실한 개미가 이동한 경로를 출력한다.
'코드업(CodeUp) 풀이 > 파이썬 기초 100제' 카테고리의 다른 글
코드업[CodeUp] (파이썬) 6097번 풀이 (0) | 2021.09.06 |
---|---|
코드업[CodeUp] (파이썬) 6096번 풀이 (0) | 2021.09.06 |
코드업[CodeUp] (파이썬) 6095번 풀이 (0) | 2021.09.06 |
코드업[CodeUp] (파이썬) 6094번 풀이 (0) | 2021.09.06 |
코드업[CodeUp] (파이썬) 6093번 풀이 (0) | 2021.09.06 |