도구스학업·수학

라틴방진 생성·검증기

n×n 라틴방진을 순환 이동으로 만들고, 각 행·열에 n개의 값이 정확히 한 번씩 나오는지 검증합니다. 실험계획법에서 순서효과를 통제할 때 쓰는 표입니다.

차수 n

5×5 라틴방진

순환 이동으로 생성

L[i][j] = (i + j) mod n — 각 행이 앞 행을 한 칸씩 돌린 것입니다

만든 라틴방진

12345
23451
34512
45123
51234

검사 항목

값의 종류 수5
행 조건모두 만족
열 조건모두 만족
스도쿠는 특수한 라틴방진입니다. 9×9 스도쿠는 «각 행·열에 1~9가 한 번씩»이라는 라틴방진 조건에 «3×3 블록에도 한 번씩»이라는 규칙이 하나 더 붙은 것입니다. 여기서 만드는 라틴방진은 블록 조건 없이 행·열 조건만 봅니다.

계산 방법

  1. 1차수 n을 고르면 순환 이동(L[i][j] = (i+j) mod n)으로 라틴방진 하나를 만들어 줍니다.
  2. 2가장자리를 보지 않아도 됩니다 — 만든 결과의 각 행은 그 앞 행을 한 칸씩 돌린 것입니다.
  3. 3«검증하기»로 바꾸면 직접 넣은 정사각 배열이 라틴방진 조건(각 행·열에 n개 값이 한 번씩)을 만족하는지 확인할 수 있습니다.

자주 묻는 질문

n×n 칸에 n개의 서로 다른 값을 넣되 각 행과 각 열에 그 n개 값이 정확히 한 번씩만 나오게 채운 표입니다. 값이 1부터 n까지일 필요는 없습니다 — n개의 구별되는 값이기만 하면 됩니다. 통계 실험계획법에서 처리 순서나 피험자 순서효과를 공평하게 나눌 때 이 구조를 씁니다.

스도쿠는 라틴방진에 «3×3 블록에도 1~9가 한 번씩»이라는 규칙이 하나 더 붙은 특수한 경우입니다. 즉 모든 스도쿠 완성표는 라틴방진이지만, 모든 라틴방진이 스도쿠는 아닙니다. 이 도구는 블록 조건 없이 행·열 조건만 봅니다.

마방진의 2차가 불가능한 이유는 «모든 줄의 합이 같아야 한다»는 조건 때문입니다. 1,2,3,4를 아무리 배치해도 합을 맞출 수 없습니다. 라틴방진에는 합 조건이 없고 «값이 한 번씩만 나온다»는 조건뿐이라 [[1,2],[2,1]]처럼 2차도 얼마든지 존재합니다.

아닙니다. 순환 이동은 항상 통하는 가장 간단한 구성일 뿐이고, 4차부터는 576개, 5차부터는 161,280개의 서로 다른 라틴방진이 존재합니다. 이 도구는 그중 순환 이동으로 만든 하나를 보여줍니다.

됩니다. 0부터 n-1까지 쓰거나 임의의 서로 다른 n개 값을 써도, 각 행·열에 그 n개 값이 한 번씩 나오기만 하면 라틴방진으로 인정합니다. 다만 그리드 전체에서 값의 종류가 정확히 n개가 아니면 애초에 성립할 수 없어 바로 걸러냅니다.

전송되지 않습니다. 계산은 전부 브라우저 안에서 이뤄지고, 입력값은 이 브라우저의 localStorage에만 남습니다.

알아두면 좋은 점

  • 만드는 방법은 순환 이동 하나뿐입니다. 표를 뒤섞거나 무작위로 고르는 기능은 없습니다.
  • 화면에 담기도록 20차까지만 만듭니다.
  • 검증은 각 행·열에 값이 한 번씩 나오는지와 전체 값의 종류가 n개인지를 봅니다. 두 라틴방진이 행·열을 바꿔도 같은 것인지(등가류) 같은 판정은 하지 않습니다.
  • 만든 라틴방진을 그대로 검증기에 넣어 통과하는지를 테스트로 확인해 두었습니다. 만드는 코드와 세는 코드가 서로 다른 논리라 한쪽이 틀리면 걸립니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 8일 · 결과는 참고용 추정치입니다.