나이트 최소 이동 횟수 계산기
체스판(또는 임의 크기 격자)에서 나이트가 두 칸 사이를 오가는 최소 이동 횟수를 너비우선탐색(BFS)으로 정확히 구합니다. 판의 모든 칸을 도는 나이트 투어와는 다른, 두 칸 사이 최단거리 문제입니다.
시작 칸 (열, 행) — 0부터 시작
도착 칸 (열, 행)
최소 이동 횟수
6수
너비우선탐색(BFS)으로 구한 정확한 최단거리입니다
계산 방법
- 1판의 가로·세로 칸 수를 넣습니다(기본 8×8 체스판).
- 2시작 칸과 도착 칸의 좌표를 0부터 세어 넣습니다.
- 3최소 이동 횟수와 실제 경로 한 가지를 확인합니다.
자주 묻는 질문
너비우선탐색(BFS)을 씁니다. 시작 칸에서 나이트가 한 수에 갈 수 있는 여덟 칸으로 물결처럼 퍼져나가며 각 칸을 처음 밟는 순간의 물결 수가 곧 그 칸까지의 최소 이동 횟수입니다. 모든 이동이 똑같이 1수라서(가중치가 균일해서) 이 방식이 항상 정확한 답을 보장합니다.
색깔 규칙으로 검산할 수 있습니다. 나이트는 한 번 움직일 때마다 반드시 칸 색이 바뀝니다(체스판처럼 칠했을 때). 그래서 시작·도착 칸의 색이 같으면 최소 이동 횟수는 항상 짝수, 다르면 항상 홀수여야 합니다. 이 계산기가 낸 값도 이 규칙을 항상 만족합니다.
edu/knight-tour는 판의 «모든 칸»을 정확히 한 번씩 밟는 경로(해밀턴 경로)를 찾는 문제로, 일반적으로 어려워 백트래킹과 휴리스틱이 필요합니다. 이 계산기는 «두 칸 사이»의 최단거리만 구하면 되는, 훨씬 단순하고 항상 정확히 풀리는 문제입니다.
네. 판이 아주 작으면(1×n 판 전체, 2×2, 2×3의 일부 칸 쌍 등) 나이트가 아예 이동할 곳이 없거나 특정 칸에 닿지 못할 수 있습니다. 이런 경우 «도달할 수 없습니다»로 정직하게 표시합니다.
됩니다. 가로·세로 칸 수를 원하는 대로(최대 200×200) 바꿀 수 있어 8×8 표준 체스판뿐 아니라 직사각형 격자나 다른 보드게임의 나이트형 말에도 그대로 적용할 수 있습니다.
알아두면 좋은 점
- 판이 너무 커서(2만 칸을 넘으면) 그림은 생략하고 숫자와 경로 좌표만 보여줍니다.
- 경로는 최단거리를 만족하는 여러 경로 중 BFS가 처음 찾은 하나입니다. 같은 거리의 다른 경로가 있을 수 있습니다.
- 좌표는 왼쪽 위 (0,0)을 기준으로 오른쪽이 x, 아래가 y가 커지는 방향입니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 8일 · 결과는 참고용 추정치입니다.