입문 – 중급

스도쿠 풀이 기법:
그림으로 배우는 단계별 공략

소거법 • 단독 후보수 • 쌍 후보수 • 포인팅 페어

약 십이 분 격자 예시 여섯 개

스도쿠 풀이의 모든 논리는 네 가지 핵심 기법 위에 세워져 있습니다. 이 네 가지 없이는 어떤 퍼즐도 완성할 수 없고, 이 네 가지를 익히면 대부분의 퍼즐이 풀립니다. 하지만 "아는 것""보는 것" 사이에는 거리가 있습니다. 그 거리를 좁혀 주는 것이 바로 시각적 실전 연습입니다.

이 글은 각 기법을 세 층위로 설명합니다. 먼저 그것이 무엇인지, 다음으로 어떻게 적용하는지, 마지막으로 실제 격자에서 어떻게 보이는지 순서대로 다룹니다. 순서는 임의적이지 않습니다. 소거법 없이는 단독 후보수가 보이지 않고, 단독 후보수 없이는 쌍 후보수가 작동하지 않으며, 포인팅 페어는 이 둘을 전제로 합니다.

이 글에서 배우는 기법들
  • 소거법: 이 칸에 들어갈 수 없는 숫자는 무엇인가?
  • 단독 후보수: 후보수가 하나만 남은 칸 찾기
  • 쌍 후보수: 동일한 두 후보수를 공유하는 두 칸 활용하기
  • 포인팅 페어: 박스 내 분포를 행·열 소거의 근거로 전환하기

소거법은 스도쿠 논리의 기반입니다. 단독 후보수를 포함한 모든 기법은 소거법 위에 세워집니다. 핵심 질문은 단 하나입니다. "이 숫자가 이 칸에 들어갈 수 있는가?" 답은 세 가지 규칙으로 결정됩니다.

세 가지 규칙, 하나의 논리

스도쿠 규칙은 단순합니다. 모든 행, 열, 삼 곱하기 삼 박스는 일부터 구까지의 숫자를 각각 정확히 한 번씩 포함해야 합니다. 소거법은 이 규칙을 역방향으로 적용합니다. 어떤 숫자가 행, 열, 또는 박스에 이미 있다면, 그 숫자는 같은 행·열·박스의 다른 칸에 들어갈 수 없습니다.

격자 예시 — 소거법

┌───────┬───────┬───────┐ │ 오 삼 · │ · 칠 · │ · · · │ │ 육 · · │ 일 구 오 │ · · · │ │ · 구 팔 │ · · · │ · 육 · │ ├───────┼───────┼───────┤ │ 팔 · · │ · 육 · │ · · 삼 │ │ 사 · · │ 팔 · [?]│ · · 일 │ │ 칠 · · │ · 이 · │ · · 육 │ ├───────┼───────┼───────┤ │ · 육 · │ · · · │ 이 팔 · │ │ · · · │ 사 일 구 │ · · 오 │ │ · · · │ · 팔 · │ · 칠 구 │ └───────┴───────┴───────┘
그림 일 — [?] 표시된 칸: 오행 육열. 어떤 숫자가 들어갈까요?

단계별 풀이

일.행 스캔 (오행): 사, 팔, 일 있음 → 이 세 숫자 소거.
이.열 스캔 (육열): 칠, 오, 육, 이, 구, 팔 있음 → 이 여섯 숫자도 소거.
삼.박스 스캔 (중우 삼 곱하기 삼): 육, 오, 삼, 일 있음 → 이것들도 소거.
사.모든 소거 후 남은 유일한 숫자는 .

이 칸에는 가 들어갑니다. 다른 선택지는 없습니다. 추측이 아니라 추론입니다.

소거법의 핵심 요령

소거법은 빈 칸뿐 아니라 채워진 칸에 대해서도 머릿속으로 실행해야 합니다. "여기 있는 칠이 저 칸에 영향을 주는가?" 라는 질문을 채워진 숫자 하나하나에 던져야 합니다. 이 습관이 몸에 배면, 단독 후보수를 의식적으로 찾기 전에 자동으로 눈에 들어오기 시작합니다.


어떤 칸에 단 하나의 숫자만 들어갈 수 있다면, 그 숫자는 반드시 그 칸에 있어야 합니다. "단독"이라는 이름은 그 칸이 하나의 후보수만을 드러내기 때문입니다. 숨겨진 것이 아니라 추론의 결과로 도출된 것입니다.

단독 후보수를 찾으려면 후보수 목록이 필요합니다. 후보수 목록이란 소거법을 통해 걸러진 후 어떤 칸에 들어갈 수 있는 모든 숫자의 집합입니다. 목록이 하나로 좁혀졌을 때 단독 후보수가 드러납니다.

후보수 목록은 어떻게 만드나요?

빈 칸마다 이 질문을 던지세요. 일부터 구까지 어떤 숫자가 이 칸에 들어갈 수 없는가? 같은 행, 열, 또는 박스에 이미 있는 숫자를 하나씩 제거하세요. 남은 숫자가 그 칸의 후보수입니다.

스도쿰넷에서는 ㅜ키로 메모 모드를 열 수 있습니다. 메모 모드에서 입력한 숫자는 칸 안에 작은 후보수 메모로 기록됩니다. 이 기능 덕분에 직접 추적하는 대신 격자에서 시각적으로 단독 후보수를 확인할 수 있습니다.

격자 예시 — 단독 후보수

┌───────┬───────┬───────┐ │ 오 삼 사 │ 육 칠 팔 │ 구 일 이 │ │ 육 칠 이 │ 일 구 오 │ 삼 사 팔 │ │ 일 구 팔 │ 삼 사 이 │ 오 육 칠 │ ├───────┼───────┼───────┤ │ 팔 오 구 │ 칠 육 일 │ 사 이 삼 │ │ 사 이 육 │ 팔 오 [?]│ 칠 구 일 │ │ 칠 일 삼 │ 구 이 사 │ 팔 오 육 │ ├───────┼───────┼───────┤ │ 구 육 일 │ 오 삼 칠 │ 이 팔 사 │ │ 이 팔 칠 │ 사 일 구 │ 육 삼 오 │ │ 삼 사 오 │ 이 팔 육 │ 일 칠 구 │ └───────┴───────┴───────┘
그림 이 — 오행 육열: 후보수가 하나만 남았습니다.

단계별 풀이

일.오행의 기존 숫자: 사, 이, 육, 팔, 오, 칠, 구, 일 → 여덟 개 있음, 세 개만 빠짐.
이.육열의 기존 숫자: 팔, 오, 이, 일, 사, 칠, 구, 육 → 여덟 개 있음, 세 개만 빠짐.
삼.중우 박스의 기존 숫자: 구, 일, 삼, 사, 칠, 팔, 육, 오 → 여덟 개 있음.
사.행·열·박스 소거 후 유일하게 남은 숫자: . 이 칸에는 삼만 들어갈 수 있습니다.

단독 후보수를 찾기 위해 격자 전체를 칸마다 검사할 필요는 없습니다. 효율적인 방법은 이미 많이 채워진 행과 열을 먼저 살펴보는 것입니다. 한 행에 일곱에서 여덟 개의 숫자가 채워져 있다면, 그 행의 빈 칸 중 하나 이상이 단독 후보수일 가능성이 높습니다.

단독 후보수와 숨은 단일 후보수의 차이

단독 후보수는 칸 기준입니다. "이 칸에는 숫자 하나밖에 못 들어간다." 숨은 단일 후보수는 숫자 기준입니다. "이 숫자는 이 행에서 이 칸에만 들어갈 수 있다." 둘 다 단 하나의 후보를 찾아내지만 시각이 다릅니다. 단독 후보수는 후보수 목록으로, 숨은 단일 후보수는 숫자 분포로 발견합니다.


쌍 후보수는 한 단계 더 나아간 사고 방식을 요구합니다. 핵심은 이렇습니다. 같은 두 후보수를 공유하는 두 칸이 동일한 행, 열, 또는 박스에 있다면, 그 두 후보수는 해당 단위의 다른 칸들에서 소거할 수 있습니다.

왜 그럴까요? 그 두 숫자는 반드시 그 두 칸에 들어가게 되기 때문입니다. 어느 쪽에 어느 것이 들어가는지는 아직 모르더라도 말이죠. 이 확실성 덕분에, 같은 행·열·박스의 다른 칸들이 그 두 숫자를 후보수로 유지하는 것은 의미가 없어집니다.

격자 예시 — 쌍 후보수

삼열 — 후보수 메모 포함: ┌──────────────────────────┐ │ 일행삼열: [일, 칠] │ ← 쌍 후보수 칸 │ 이행삼열: [이, 오, 팔] │ │ 삼행삼열: [일, 칠] │ ← 쌍 후보수 칸 │ 사행삼열: [이, 오, 칠, 팔]│ │ 오행삼열: [이, 사, 칠] │ │ 육행삼열: [이, 오, 칠, 팔]│ │ 칠행삼열: [삼, 오] │ │ 팔행삼열: [이, 오, 팔] │ │ 구행삼열: [이, 오, 육] │ └──────────────────────────┘
그림 삼 — 삼열: 일행삼열과 삼행삼열이 [일, 칠]만 포함. 쌍 후보수 성립.

단계별 풀이

일.일행삼열의 후보수: [일, 칠]. 삼행삼열의 후보수: [일, 칠]. 동일한 두 후보수, 동일한 두 칸 — 쌍 후보수 확인.
이.이 두 숫자(일과 칠)는 반드시 일행삼열과 삼행삼열에 들어갑니다. 어느 칸에 어느 것이 가는지는 모르지만, 두 숫자는 이 두 칸에 묶여 있습니다.
삼.삼열의 나머지 모든 칸에서 일과 칠을 소거합니다: 사행삼열 → [이, 오, 팔], 오행삼열 → [이, 사], 육행삼열 → [이, 오, 팔].
사.오행삼열에 [이, 사]만 남았습니다. 쌍 후보수의 영향으로 단독 후보수로 전환되었고, 풀이 연쇄가 시작됩니다.

두 번째 예시 — 박스 내 쌍 후보수

좌상 삼 곱하기 삼 박스 — 후보수 메모 포함: ┌─────────────────────────────────┐ │ 일행일열:[사] 일행이열:[삼,구] 일행삼열:[삼,구] │ ← 쌍 후보수 │ 이행일열:[육] 이행이열:[이,오,팔] 이행삼열:[이,팔] │ │ 삼행일열:[일,칠,팔] 삼행이열:[이,오,팔] 삼행삼열:[이,팔] │ └─────────────────────────────────┘
그림 사 — 좌상 박스: 일행이열과 일행삼열이 [삼, 구]만 포함. 쌍 후보수.
일.일행이열 = [삼, 구], 일행삼열 = [삼, 구]. 동일한 두 후보수, 같은 박스이자 같은 행 — 이중 효과.
이.박스 내 다른 칸들에서 삼과 구를 소거합니다. 또한 일행의 다른 칸들에서도 삼과 구를 소거합니다.
삼.이행삼열 = [이, 팔], 삼행삼열 = [이, 팔] → 이 두 칸도 박스 내에서 쌍 후보수를 형성합니다. 연쇄 소거가 작동합니다.
쌍 후보수는 왜 어려운가요?

초반에는 발견이 느립니다. 칸마다 후보수 목록을 비교해야 하기 때문입니다. 숙련된 플레이어에게는 이 비교가 이미 자동화되어 있습니다. 후보수가 두 개인 칸을 보는 순간, 반사적으로 짝이 있는지 확인합니다. 이 반사 능력은 보통 오십에서 백 개의 퍼즐을 풀고 나면 자리를 잡습니다.


포인팅 페어는 박스 내 분포를 관찰하는 기법입니다. 어떤 숫자의 후보칸이 하나의 삼 곱하기 삼 박스 안에서 단 하나의 행 또는 열에만 집중되어 있다면, 그 숫자는 해당 행 또는 열에서 박스 의 칸들에 대해 소거할 수 있습니다.

"포인팅(가리키기)"이라는 이름은 여기서 유래합니다. 그 두 개(또는 세 개)의 칸이 행 또는 열을 따라 바깥쪽을 "가리키고" 있기 때문입니다. 박스 내의 발견을 행·열 차원의 소거로 전환하는 유일한 기법입니다.

격자 예시 — 행 방향 포인팅 페어

숫자 삼의 박스·행 분포: ┌────────────┬────────────┬────────────┐ │ · · · │ [삼] · [삼]│ · · · │ ← 일행 │ · · · │ · · · │ · · · │ │ · · · │ · · · │ · · · │ └────────────┴────────────┴────────────┘ 좌박스 중박스 우박스 중상 박스에서 삼의 후보칸: 일행에만 있음 (사열과 육열).
그림 오 — 숫자 삼의 후보칸이 중상 박스에서 일행에만 집중되어 있습니다.

단계별 풀이

일.중상 삼 곱하기 삼 박스에서 숫자 삼의 후보칸을 찾습니다: 일행사열과 일행육열.
이.두 칸 모두 일행에 있습니다. 박스 내 이행이나 삼행에는 삼이 들어갈 자리가 없습니다.
삼.즉, 삼은 이 박스에서 일행으로 들어가야 합니다. 일행의 좌박스(일열·이열·삼열)와 우박스(칠열·팔열·구열) 칸들에는 더 이상 삼이 들어갈 수 없습니다.
사.좌박스 일행 칸들과 우박스 일행 칸들에서 삼을 소거합니다.

두 번째 예시 — 열 방향 포인팅 페어

숫자 칠의 열 분포 (좌박스): ┌───────┐ │ · · · │ 일행 — 상 │ · · · │ 이행 │ · · · │ 삼행 ├───────┤ │ ·[칠]· │ 사행 — 중 ← 이열 │ ·[칠]· │ 오행 ← 이열 │ · · · │ 육행 ├───────┤ │ · · · │ 칠행 — 하 │ · · · │ 팔행 │ · · · │ 구행 └───────┘ 좌박스 — 칠의 후보칸은 이열에만 있음 (사행과 오행).
그림 육 — 좌중 박스에서 칠의 후보칸이 이열에만 있습니다. 이열의 상·하 구간에서 칠을 소거합니다.
일.좌중 삼 곱하기 삼 박스에서 숫자 칠의 후보칸을 찾습니다: 사행이열과 오행이열.
이.두 칸 모두 이열에 있습니다. 박스 내 일열이나 삼열에는 칠이 들어갈 자리가 없습니다.
삼.즉, 칠은 이 박스에서 이열로 들어가야 합니다. 이열의 상박스(일~삼행)와 하박스(칠~구행) 칸들에는 더 이상 칠이 들어갈 수 없습니다.
사.이열 상단 구간의 칸들과 하단 구간의 칸들에서 칠을 소거합니다.
포인팅 페어와 박스·라인 소거의 차이

포인팅 페어는 박스에서 행·열 방향으로 작동합니다. 박스·라인 소거는 그 반대입니다. 행 또는 열에서 어떤 후보수가 단 하나의 박스에만 남아 있음을 파악하고, 그 박스의 다른 칸들을 정리합니다. 서로 반대 방향이지만 동일한 논리로 이루어진 두 기법입니다.


순서가 중요합니다. 하나를 건너뛰면 다음 기법이 보이지 않게 됩니다. 효율적인 풀이 루틴은 다음과 같이 작동합니다.

순서 기법 언제 사용하나요?
소거법모든 빈 칸에 대해 후보수 목록을 작성하거나 업데이트합니다.
단독 후보수후보수가 하나로 좁혀진 칸이 있나요? 있으면 채웁니다.
숨은 단일 후보수행·열·박스 기준으로 각 숫자를 스캔합니다. 한 칸에만 들어갈 수 있으면 씁니다.
쌍 후보수같은 두 후보수를 공유하는 칸 쌍이 있나요? 있으면 효과를 적용합니다.
포인팅 페어각 박스에서 각 숫자의 후보칸이 하나의 행·열에 몰려 있나요? 있으면 박스 밖을 정리합니다.

막힐 때마다 처음으로 돌아가 이 순서를 다시 밟으세요. 한 기법이 진전을 만들면 처음부터 다시 시작해야 합니다. 하나의 칸이 바뀌면 다른 칸들의 후보수 목록에도 영향을 미치기 때문입니다.

스도쿰넷에서 이 순서를 돕는 도구

게임 코치의 티칭 모드는 어떤 기법을 적용할 수 있는지를 실시간으로 알려줍니다. 위의 순서를 외우는 대신, 게임 코치가 현재 격자 상태를 분석해 적합한 기법을 제안해 줍니다. 학습 과정에서 매우 유용하지만, 스스로 기법을 먼저 찾아보고 나서 제안을 확인하세요.


이 네 가지 기법으로 모든 스도쿠를 풀 수 있나요?
쉬움과 대부분의 중간 난이도 퍼즐은 가능합니다. 어려움 난이도에서는 엑스윙, 황새치 등 고급 기법이 필요할 수 있습니다. 하지만 이 네 가지를 몸에 익히지 않은 채 고급 기법으로 넘어가면 비효율적입니다. 기초가 없으면 상위 기술은 자리를 잡지 못합니다.
단독 후보수와 쌍 후보수의 차이를 어떻게 기억하나요?
단독 후보수는 한 칸에 후보수가 하나뿐입니다. 쌍 후보수는 두 칸이 동일한 두 후보수를 공유합니다. 단독 후보수는 해당 칸을 직접 채웁니다. 쌍 후보수는 다른 칸들의 후보수를 좁혀 간접적으로 풀이를 진행시킵니다.
포인팅 페어는 왜 찾기 어려운가요?
시각이 박스에서 행·열로 전환되어야 하기 때문입니다. 두 차원을 동시에 읽어야 합니다. 실용적인 방법은 각 박스의 각 숫자에 대해 "이 후보칸들이 모두 같은 행·열에 있나?"라고 체계적으로 질문하는 것입니다. 처음에는 느리지만, 수십 개의 퍼즐을 풀고 나면 반사적으로 보이기 시작합니다.
후보수 메모가 반드시 필요한가요?
쉬운 퍼즐에서는 대개 필요하지 않습니다. 단독 후보수는 눈으로도 찾을 수 있기 때문입니다. 중급 이상부터는 후보수 메모 없이 쌍 후보수와 포인팅 페어를 발견하기가 매우 어렵습니다. 스도쿰넷에서는 ㅜ키로 메모 모드를 열 수 있습니다. 후보수를 직접 기록하면 격자를 더 깊이 이해하게 되고 기법 적용도 쉬워집니다.

마치며

이 네 가지 기법을 "아는 것"과 격자에서 "보는 것" 사이의 거리는 연습으로만 좁혀집니다. 소거법은 어쩌면 이미 하고 있었을 것입니다. 다만 체계적이지 않았을 뿐이죠. 단독 후보수가 눈에 들어오기 시작하면 격자가 달라 보입니다. 쌍 후보수에서는 연쇄의 논리가 느껴집니다. 포인팅 페어는 박스가 행·열과 어떻게 대화하는지를 보여 줍니다. 그 순간, 퍼즐을 바라보는 시각이 바뀝니다.

소거법을 습관으로 만드세요. 후보수 메모 없이는 쌍 후보수가 보이지 않고, 쌍 후보수 없이는 포인팅 페어가 작동하지 않습니다. 각 기법은 앞선 기법을 필수 전제로 삼습니다. 그래서 순서는 건너뛸 수 없습니다.