학습
시험

미로 찾기 1

난이도
BEGINNER

문제 설명

가로와 세로의 길이가 n이고 통로(0) 또는 벽(1)으로만 이루어진 n×nn \times n 미로 정보 maze가 매개 변수로 주어질 때(1, 1)에서 출발해 (n, n)에 도착할 수 있는지 그 여부를 반환하는 solution 함수를 작성하시오.

주어진 미로 정보 maze 밖으로는 나갈 수 없다고 가정합니다.


제한 사항

  • maze는 n×nn \times n 정사각형태로 주어지며 가로 및 세로 길이는 3 이상 500 이하의 자연수입니다.
  • maze의 모든 원소는 0(통로) 또는 1(벽)으로만 이루어져 있습니다.
    • 0(통로)는 미로에서 지나다닐 수 있고, 1(벽)은 미로에서 지나다닐 수 없습니다.
    • 첫번째 행, 첫번째 열의 원소 (1, 1)과 n번째 행, n번째 열의 원소 (n, n)는 항상 0으로 주어집니다.

예시 테스트케이스 설명

테스트케이스 번호 maze return
1 [[0,1,0,1],[0,1,1,0],[1,0,0,0],[0,0,1,0]] false
2 [[0,1,1],[0,0,0],[0,1,0]] true
3 [[0,0,1,0,1],[0,0,0,1,1],[0,0,1,1,1],[0,1,0,0,0],[1,1,0,1,0]] false

1번 테스트케이스 설명

  • 주어진 매개 변수에서는 (1,1)에서 (4,4)로 도달할 수 없습니다.

2번 테스트케이스 설명

  • 주어진 매개 변수에서는 (1,1)에서 (3,3)로 도달하는 경로가 존재합니다. (1,1)→(2,1)→(2,2)→(2,3)→(3,3) (1,1) \rightarrow (2,1) \rightarrow (2,2) \rightarrow (2,3) \rightarrow (3,3)

3번 테스트케이스 설명

  • 주어진 매개 변수에서는 (1,1)에서 (5,5)로 도달할 수 없습니다.

참고 내용

  • python 개발 환경에서 11, 14, 15번 등의 테스트케이스에서 에러(런타임 에러) 가 발생한 경우 다음 내용을 참고하시오.
    • python은 재귀함수의 최대 호출 깊이를 1,000으로 제한하고 있습니다.
    • 이에 재귀 함수를 너무 깊게 호출한다면 런타임 에러의 일종인 Recursionerror를 발생시킵니다.
    • python에서 재귀함수의 최대 호출 깊이를 조정하기 위해서는 아래 예시와 같이 코드를 작성하여야 합니다.
import sys
sys.setrecursionlimit(10**6)
 
def solution(n, edges):
  return 0