CodeUp 6098번 풀이

CodeUp 의 "6098번 성실한 개미" 문제를 풀이합니다.

# Algorithm
title

준비

CodeUp 의 "6098번 성실한 개미" 문제를 Python 으로 풀어보겠습니다.

프로그래밍 기초를 공부하시는 분에게 추천하는 문제입니다.

문제 출처





문제 이해

저의 경우 완벽한 문제 이해까지 조금 시간이 걸렸습니다.

문제를 해석하자면 아래와 같습니다.

개미는 우선적으로 오른쪽, 막힌 경우 아래쪽으로 계속 이동하게 되는데 2를 만나거나 더 이상 이동이 불가능한 위치에 도착한 경우 이동을 종료합니다. 이 때 처음부터 움직인 경로를 9로 기록하여 출력합니다.





코드 작성

문제를 읽다보면 반복문으로 원소들을 순회하며 풀어도 쉽겠다는 생각이 듭니다.

저의 경우는 반복문 내에서 x, y 변수에 개미의 위치를 저장하고 2차원 배열을 처리하며 풀었습니다.

arr = [list(map(int, input().split())) for _ in range(10)]
x = 1
y = 1

while 1:
  arr[x][y] = 9
  if arr[x][y + 1] != 1:  y += 1
  elif arr[x + 1][y] != 1:  x += 1
  else:  break
  if arr[x][y] == 2:  break

arr[x][y] = 9

for i in range(10):
  for j in range(10):
    print(arr[i][j], end='' if j == 9 else ' ')
  print()

기초 문제라 구현은 쉽지만 문제 설명의 핵심을 파악하기는 어려운 느낌입니다.




읽어주셔서 감사합니다.

😍  댓글