지뢰찾기 패턴 완전 정복 — 1-2-1, 1-2-2-1 패턴과 확률 추론
지뢰찾기는 운이 아니라 논리 게임입니다. 반드시 외워야 할 기본 패턴, 숫자 차이로 지뢰를 찍는 법, 50:50 상황을 최소화하는 요령.
지뢰찾기를 「운 게임」이라고 생각하는 분이 많습니다. 아무 칸이나 눌렀다가 터지면 운이 나빴다고 여기는 식입니다. 그러나 지뢰찾기는 첫 클릭 이후 대부분의 국면이 순수한 논리로 결정되는 추론 게임입니다. 숫자가 주는 정보를 정확히 읽고, 몇 가지 반복되는 패턴을 외우고, 추측이 불가피한 상황을 최소화하는 요령을 익히면 초급은 거의 매번, 고급도 꾸준히 클리어할 수 있습니다. 이 글에서는 규칙부터 필수 패턴, 숫자 뺄셈 추론, 그리고 어쩔 수 없이 찍어야 할 때의 확률 계산까지 차례로 정리합니다.
규칙과 숫자의 의미
보드는 격자로 이루어져 있고, 일부 칸에 지뢰가 숨어 있습니다. 칸을 열었을 때 지뢰가 아니면 그 칸에 인접한 8칸 중 지뢰가 몇 개인지를 나타내는 숫자가 표시됩니다. 숫자가 0이면(빈 칸으로 표시) 인접 8칸이 모두 안전하므로 자동으로 연쇄 개방됩니다. 지뢰가 아닌 모든 칸을 열면 승리이고, 지뢰를 열면 즉시 패배입니다.
여기서 자주 오해하는 점 두 가지를 바로잡습니다. 첫째, 숫자는 「그 칸 주위」의 지뢰 수이며 행이나 열 전체의 지뢰 수가 아닙니다. 둘째, 깃발은 승리 조건과 무관합니다. 지뢰가 아닌 칸을 모두 열기만 하면 깃발을 하나도 꽂지 않아도 클리어입니다. 깃발은 자신의 추론을 기록하는 메모 도구입니다.
난이도별 보드와 지뢰 밀도
FunAppBox 지뢰찾기의 세 난이도와 지뢰 밀도(전체 칸 수 대비 지뢰 수)는 다음과 같습니다. 밀도가 높아질수록 숫자만으로 확정할 수 없는 상황이 자주 나타납니다.
| 난이도 | 보드 | 지뢰 | 밀도 |
|---|---|---|---|
| 초급 | 9 × 9 (81칸) | 10개 | 약 12.3% |
| 중급 | 12 × 12 (144칸) | 30개 | 약 20.8% |
| 고급 | 16 × 16 (256칸) | 60개 | 약 23.4% |
참고로 고전적인 Windows 지뢰찾기는 초급 9×9에 10개, 중급 16×16에 40개, 고급 30×16에 99개로, 고급 밀도가 약 20.6%입니다. FunAppBox의 고급은 칸 수는 적지만 밀도가 더 높아 추론 난이도는 결코 낮지 않습니다.
첫 클릭 — 어디를 눌러야 하나
고전적인 지뢰찾기에서는 첫 클릭이 순전히 운이었습니다. 요즘 구현 대부분은 첫 클릭 칸이 지뢰가 아니도록 보장하고, FunAppBox 버전은 한 걸음 더 나아가 첫 클릭 칸과 그 주위 8칸까지 지뢰가 없도록 보드를 생성합니다. 즉 첫 클릭은 반드시 0이 되어 주변이 연쇄 개방됩니다.
그렇다면 어디를 눌러야 할까요? 첫 클릭이 항상 0이라면 연쇄 개방이 최대한 넓게 퍼질 곳, 즉 보드 한가운데가 유리합니다. 모서리나 변에서 시작하면 개방 영역이 한쪽으로만 퍼지지만, 중앙에서 시작하면 사방으로 퍼져 이후 추론에 쓸 숫자가 많이 드러납니다. 첫 클릭 보장이 없는 고전 버전에서는 이웃이 3칸뿐인 모서리가 0이 나올 확률이 높아 모서리 클릭을 권하기도 하지만, 첫 클릭이 보장되는 환경에서는 중앙이 정답입니다.
모든 추론의 기초 — 두 가지 규칙
복잡해 보이는 패턴도 결국 아래 두 규칙의 조합입니다. 이 두 가지를 반사적으로 적용할 수 있어야 합니다.
- 규칙 A (전부 지뢰): 숫자 N의 주위에 아직 열리지 않은 칸이 정확히 N개라면, 그 칸들은 모두 지뢰입니다.
- 규칙 B (전부 안전): 숫자 N의 주위에 이미 확정된 지뢰(깃발)가 N개라면, 나머지 열리지 않은 칸은 모두 안전합니다.
예를 들어 열린 영역의 가장자리에 있는 1의 주위에 닫힌 칸이 하나뿐이면 그 칸은 지뢰입니다(규칙 A). 그 칸에 깃발을 꽂은 뒤, 그 지뢰 칸을 이웃으로 갖는 다른 1들을 살펴보면 그 1들의 나머지 닫힌 칸은 모두 안전합니다(규칙 B). 지뢰찾기의 대부분은 이 두 규칙을 번갈아 적용하는 과정입니다.
반드시 외워야 할 기본 패턴
아래 그림에서 숫자는 열린 칸, ?는 닫힌 칸, *는 지뢰로 확정된 칸, o는 안전으로 확정된 칸입니다. 열린 영역이 아래쪽, 닫힌 영역이 위쪽에 있다고 가정합니다. 모든 패턴은 회전·대칭해서도 똑같이 성립합니다.
1-1 패턴 (벽 또는 열린 칸에 붙어 있을 때)
왼쪽 1과 오른쪽 1이 나란히 있고, 왼쪽 1의 왼쪽이 벽(또는 이미 열린 칸)이라고 합시다. 왼쪽 1의 이웃 닫힌 칸은 위쪽 두 칸이므로 그 두 칸 중 정확히 하나가 지뢰입니다. 오른쪽 1은 그 두 칸을 모두 이웃으로 가지고 있으므로 이미 지뢰 하나를 「소비」했습니다. 따라서 오른쪽 1의 나머지 이웃, 즉 위쪽 세 번째 칸은 안전합니다. 「벽에 붙은 1-1의 세 번째 칸은 안전」으로 외우면 됩니다.
1-2 패턴 (벽에 붙어 있을 때)
1의 위쪽 두 칸에 지뢰가 하나, 2의 위쪽 세 칸에 지뢰가 둘입니다. 2의 세 칸 중 왼쪽 두 칸은 1과 공유하는데 거기에는 지뢰가 최대 하나뿐입니다. 그러므로 2가 필요한 나머지 하나는 공유하지 않는 세 번째 칸에 있어야 합니다. 「벽에 붙은 1-2의 세 번째 칸은 지뢰」입니다.
1-2-1 패턴
가장 유명한 패턴입니다. 가운데 2의 위쪽 세 칸에 지뢰가 둘 있습니다. 왼쪽 1의 위쪽 세 칸(2의 왼쪽 두 칸을 포함)에 지뢰가 하나, 오른쪽 1도 마찬가지입니다. 만약 2의 바로 위 칸이 지뢰라면 왼쪽 1과 오른쪽 1이 동시에 그 지뢰를 이웃으로 갖게 되어, 2가 요구하는 두 번째 지뢰를 어디에 두어도 어느 한쪽 1이 2가 되어 모순입니다. 따라서 2의 바로 위는 안전하고, 양쪽 1의 바로 위 두 칸이 지뢰입니다. 두 1이 각각 지뢰 하나를 확보했으므로 그 바깥쪽 칸(맨 왼쪽·맨 오른쪽 위)도 안전합니다. 1-2-1을 보면 양 끝 1 위에 지뢰, 가운데 2 위는 안전입니다.
1-2-2-1 패턴
1-2-1의 확장판입니다. 두 개의 2가 나란히 있으면 두 2의 바로 위 칸 두 개가 지뢰이고, 양쪽 1의 바로 위와 그 바깥쪽은 모두 안전합니다. 증명은 1-2-1과 같은 방식으로, 「1 위에 지뢰가 있다고 가정하면 옆의 2를 만족시킬 수 없다」는 모순을 이용합니다. 1-2-2-1은 가운데 2-2 위에 지뢰, 양 끝 1 위는 안전입니다.
패턴을 적용할 때 주의할 점
- 패턴은 「숫자 줄의 반대편(아래쪽)이 모두 열려 있거나 확정되어 있을 때」 성립합니다. 숫자의 아래쪽에도 닫힌 칸이 있으면 그 칸까지 고려해야 합니다.
- 이미 깃발을 꽂은 지뢰가 이웃에 있다면 그 수만큼 숫자를 빼고 패턴을 봅니다. 예를 들어 옆에 깃발 하나가 있는 3은 사실상 2입니다. 이렇게 「실질 숫자」로 환산하면 2-3-2가 1-2-1로 보입니다.
- 1-1 패턴과 1-2 패턴은 벽에 붙어 있을 때만 성립합니다. 벽이 없는 1-1은 정보가 부족합니다.
숫자 차이로 지뢰를 찍는 법 — 뺄셈 추론
기본 패턴이 외워지면 그 다음 단계는 두 숫자의 이웃 영역을 비교하는 뺄셈 추론입니다. 원리는 간단합니다.
숫자 X의 닫힌 이웃 집합이 숫자 Y의 닫힌 이웃 집합에 완전히 포함되어 있다면, Y의 이웃 중 X와 공유하지 않는 칸에는 정확히 (Y − X)개의 지뢰가 있습니다.
Y − X가 0이면 공유하지 않는 칸은 모두 안전하고, Y − X가 공유하지 않는 칸의 개수와 같으면 그 칸들은 모두 지뢰입니다. 사실 앞에서 본 1-1 패턴은 Y − X = 0인 경우이고, 1-2 패턴은 Y − X = 1이면서 비공유 칸이 하나인 경우입니다. 뺄셈 추론은 모든 기본 패턴을 하나의 원리로 통합한 것입니다.
예시 — 3과 1의 비교
1의 닫힌 이웃은 위쪽 세 칸(1의 왼쪽 위·바로 위·오른쪽 위)입니다. 3의 닫힌 이웃은 위쪽 세 칸(3의 왼쪽 위·바로 위·오른쪽 위)과 왼쪽 칸, 왼쪽 아래 칸 등입니다. 1의 이웃 중 3과 공유하는 것은 3의 바로 위와 3의 오른쪽 위, 두 칸입니다. 이 경우 1의 이웃이 3의 이웃에 완전히 포함되지는 않으므로 곧바로 뺄셈을 적용할 수는 없습니다. 대신 「1의 세 칸에 지뢰는 하나」라는 정보로 3의 공유 두 칸에는 지뢰가 최대 하나임을 알 수 있고, 따라서 3의 나머지 비공유 칸(왼쪽 위, 왼쪽, 왼쪽 아래)에는 지뢰가 최소 두 개 있습니다. 비공유 칸이 세 개인데 그 중 최소 두 개가 지뢰라는 부분 정보는, 다른 숫자와 결합하면 확정으로 이어지는 경우가 많습니다.
이처럼 뺄셈 추론은 완전 포함 관계일 때 가장 강력하지만, 부분적으로 겹칠 때도 「최소 몇 개·최대 몇 개」라는 범위 정보를 줍니다. 여러 숫자의 범위 정보를 겹쳐 보면 한 칸이 반드시 지뢰이거나 반드시 안전이라는 결론이 나오는 경우가 자주 있습니다.
50:50 상황과 확률 — 찍어야 할 때
모든 논리를 다 써도 두 칸 중 어느 쪽이 지뢰인지 절대 알 수 없는 상황이 있습니다. 대표적으로 벽에 붙은 두 칸을 1 하나만 바라보고 있는 경우, 또는 열린 영역 안에 갇힌 2×2 블록 같은 경우입니다. 이런 상황을 50:50이라고 부르며, 진정한 50:50은 어떤 실력자도 피할 수 없습니다.
다만 다음을 지키면 추측 횟수와 실패 확률을 크게 줄일 수 있습니다.
- 확정 가능한 곳을 먼저 모두 처리합니다. 50:50처럼 보이던 곳도 다른 방향에서 영역이 열리면 새 숫자가 드러나 확정되는 경우가 많습니다. 추측은 정말 마지막에 합니다.
- 남은 지뢰 수를 활용합니다. 화면의 지뢰 카운터(전체 지뢰 − 깃발 수)는 마지막 단계의 결정적 정보입니다. 예를 들어 남은 지뢰가 1개인데 확정되지 않은 영역이 두 곳이라면, 한 곳의 지뢰 존재를 확정하면 다른 곳은 모두 안전합니다. 이 계산이 정확하려면 깃발을 확실한 곳에만 꽂아야 합니다.
- 추측해야 한다면 확률이 낮은 곳을 고릅니다. 숫자와 인접하지 않은 미개방 영역의 지뢰 확률은 대략 「남은 지뢰 수 ÷ 그 영역의 칸 수」입니다. 초급 시작 직후라면 10 ÷ 81 ≈ 12%로, 50:50보다 훨씬 낮습니다. 게임 초반에 어쩔 수 없이 찍어야 한다면 숫자 옆의 50:50 대신 멀리 떨어진 미개방 영역을 여는 편이 유리합니다.
- 정보를 많이 주는 곳을 찍습니다. 같은 확률이라면 열렸을 때 새로운 숫자가 많이 드러날 칸(닫힌 영역 안쪽)을 고릅니다. 벽에 붙은 칸은 열려도 정보가 적습니다.
확률 계산 예시
중급(12×12, 30개)에서 게임 후반, 깃발 27개를 꽂아 남은 지뢰가 3개이고 닫힌 칸이 12칸 남았다고 가정합니다. 그 중 2칸은 숫자 1 하나만 바라보는 전형적인 50:50, 나머지 10칸은 숫자와 인접하지 않은 구석 영역입니다. 50:50 두 칸 중 하나가 지뢰이므로 구석 영역 10칸에는 지뢰가 2개, 확률은 20%입니다. 이때 50:50을 찍는 것(50%)보다 구석 영역을 여는 것(20%)이 훨씬 안전하고, 구석 영역이 열리면서 드러나는 숫자가 50:50을 풀어 줄 가능성도 있습니다.
깃발 모드와 속도 — 실전 조작 요령
모바일 환경에서는 마우스 오른쪽 클릭이 없기 때문에 FunAppBox 지뢰찾기는 화면의 버튼으로 탐색 모드와 깃발 모드를 전환합니다. 탐색 모드에서 칸을 누르면 열리고, 깃발 모드에서 누르면 깃발이 켜지거나 꺼집니다. 깃발이 꽂힌 칸은 탐색 모드에서 눌러도 열리지 않으므로 실수 방지 장치로도 쓸 수 있습니다.
기록 단축을 목표로 한다면 다음 습관이 도움이 됩니다.
- 깃발을 꼭 다 꽂을 필요는 없습니다. 승리 조건은 지뢰가 아닌 칸을 모두 여는 것이므로, 위치가 명백한 지뢰는 깃발 없이 머릿속으로만 기억하고 넘어가면 모드 전환 횟수가 줄어듭니다. 단, 남은 지뢰 카운터를 마지막에 활용할 계획이라면 확정 지뢰에는 꼬박꼬박 깃발을 꽂는 편이 안전합니다.
- 확정된 안전 칸은 뭉쳐서 처리합니다. 규칙 B로 한 번에 여러 칸이 안전으로 확정되면 그 칸들을 연속으로 여는 것이 빠릅니다. 모드 전환은 지뢰 확정을 몰아서 할 때 한 번만 합니다.
- 패턴은 보는 즉시 처리합니다. 1-2-1, 1-2-2-1처럼 결과가 정해진 패턴은 생각할 필요 없이 손이 먼저 움직여야 합니다. 이 속도 차이가 기록의 대부분을 결정합니다.
- 타이머는 첫 클릭부터 시작됩니다. 난이도별 최고 기록이 저장되므로, 초급에서 안정적으로 클리어할 수 있게 되면 시간 단축을 목표로 삼고, 그 뒤 중급·고급으로 올라가는 순서가 좋습니다.
연습 순서 제안
패턴을 한 번에 다 외우려 하면 오히려 헷갈립니다. 다음 순서로 한 단계씩 몸에 익히는 것을 권합니다.
- 1단계 — 초급에서 규칙 A·B만으로 클리어. 추측 없이 끝낼 수 있는 판이 대부분입니다. 막히면 어느 숫자를 놓쳤는지 화면을 천천히 다시 봅니다.
- 2단계 — 1-1, 1-2 패턴을 벽 근처에서 찾기. 열린 영역이 벽에 닿는 곳마다 이 두 패턴이 있는지 확인하는 습관을 만듭니다.
- 3단계 — 1-2-1, 1-2-2-1을 즉시 처리. 중급부터 자주 등장합니다. 깃발을 이용한 「실질 숫자」 환산도 이 단계에서 익힙니다.
- 4단계 — 뺄셈 추론과 남은 지뢰 수 활용. 고급에서 클리어율을 끌어올리는 핵심입니다.
실전 예시 — 초급 한 판의 흐름
지금까지의 내용을 한 판의 흐름에 얹어 보면 실제로 어느 단계에서 어떤 도구를 쓰는지 분명해집니다. 초급(9×9, 지뢰 10개)을 기준으로 설명합니다.
- 1. 첫 클릭 — 중앙. 첫 클릭 주변이 안전하게 보장되므로 중앙을 눌러 넓은 빈 영역을 엽니다. 대개 보드의 3분의 1에서 절반이 한 번에 열리고 가장자리에 1과 2가 늘어섭니다.
- 2. 규칙 A로 확정 지뢰 찍기. 열린 영역 가장자리를 따라가며 「닫힌 이웃이 숫자와 같은 칸」을 찾습니다. 초급에서는 열린 영역의 모서리 부분에서 닫힌 칸이 하나뿐인 1이 여럿 나옵니다. 그 칸들이 첫 확정 지뢰입니다.
- 3. 규칙 B로 안전 칸 열기. 방금 확정한 지뢰를 이웃으로 갖는 다른 숫자들을 보고, 이미 충족된 숫자의 나머지 이웃을 모두 엽니다. 새로 열린 칸이 다시 숫자를 드러내면 2번으로 돌아갑니다. 이 순환이 판의 70~80%를 해결합니다.
- 4. 벽 근처에서 패턴 적용. 열린 영역이 보드 가장자리에 닿으면 1-1, 1-2 패턴이 보입니다. 안쪽에서는 1-2-1이 보이면 즉시 처리합니다.
- 5. 마무리 — 남은 지뢰 수 확인. 닫힌 칸이 몇 개 남지 않았을 때 지뢰 카운터를 봅니다. 남은 지뢰 수와 닫힌 칸 수가 같으면 남은 칸은 모두 지뢰이므로 게임이 끝난 것이고, 남은 지뢰가 0이면 남은 칸을 모두 열면 됩니다.
초급에서 이 흐름이 막힘 없이 이어지면 대개 30초에서 1분 안에 끝납니다. 중급·고급으로 올라가면 3번의 순환이 중간에 끊기는 일이 잦아지고, 그때 뺄셈 추론과 부분 정보의 결합이 필요해집니다.
자주 하는 실수
- 확실하지 않은 곳에 깃발을 꽂는 것. 「아마 지뢰일 것」이라는 깃발은 규칙 B를 잘못 적용하게 만들어 안전한 칸을 지뢰로, 지뢰를 안전으로 착각하게 합니다. 깃발은 100% 확정일 때만 꽂아야 하고, 그렇지 않으면 꽂지 않는 편이 낫습니다.
- 한 숫자만 보고 판단하는 것. 3의 주위에 닫힌 칸이 다섯 개라고 해서 정보가 없는 것이 아닙니다. 옆의 1, 2와 겹치는 칸을 비교하면 대부분 무언가가 확정됩니다. 막혔다고 느끼면 이웃한 숫자 두 개를 짝지어 비교하는 습관이 필요합니다.
- 너무 이른 추측. 한 곳이 막혔다고 곧바로 찍는 것은 판 전체를 걸고 하는 도박입니다. 보드의 다른 영역에 확정 가능한 곳이 남아 있는지 먼저 확인합니다. 다른 영역이 열리며 드러난 숫자가 막힌 곳을 풀어 주는 경우가 매우 많습니다.
- 모드 전환을 잊는 것. 깃발 모드인 채로 안전한 칸을 누르면 열리지 않고 깃발만 꽂히고, 반대로 탐색 모드인 채로 지뢰 칸에 깃발을 꽂으려다 그대로 열어 버리는 사고가 납니다. 화면 위 모드 표시를 확인하는 습관을 들이고, 지뢰 확정을 몰아서 처리해 전환 횟수 자체를 줄이는 것이 안전합니다.
마치며
지뢰찾기는 숫자가 주는 정보를 빠짐없이 읽어 내는 논리 게임입니다. 규칙 A와 B, 벽에 붙은 1-1과 1-2, 그리고 1-2-1과 1-2-2-1 패턴, 여기에 뺄셈 추론과 남은 지뢰 수 계산까지 익히면 운에 맡기는 순간은 한 판에 한두 번 이하로 줄어듭니다. FunAppBox의 지뢰찾기는 초급 9×9(10개), 중급 12×12(30개), 고급 16×16(60개)의 세 난이도를 제공하고 첫 클릭 주변이 항상 안전하게 열리며 난이도별 최고 기록이 저장되니, 이 글의 패턴들을 실제 보드에서 하나씩 확인해 보시기 바랍니다.