입문 – 중급

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

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

약 십이 분 격자 예시 여섯 개

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

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

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

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

세 가지 규칙, 하나의 논리

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

격자 예시 — 소거법

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

단계별 풀이

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

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

소거법의 핵심 요령

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


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

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

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

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

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

격자 예시 — 단독 후보수

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

단계별 풀이

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

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

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

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


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

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

격자 예시 — 쌍 후보수

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

단계별 풀이

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

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

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

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


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

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

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

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

단계별 풀이

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

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

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

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


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

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

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

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

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


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

마치며

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

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