노노그램 하는 법
노노그램(Nonogram)은 격자의 행 왼쪽과 열 위에 적힌 숫자 단서를 보고 어느 칸을 칠할지 추리해, 칠한 칸으로 그림을 완성하는 1인용 논리 퍼즐입니다. 1980년대 말 일본에서 시작되었고, 국내에서는 네모네모 로직이라고도 부르는데 이는 제우미디어가 펴내는 노노그램 퍼즐 책 시리즈의 이름이기도 합니다. 영어권에서는 Picross, Hanjie, Griddlers, Paint by Numbers 같은 이름으로도 알려져 있습니다.
- 위에서 크기를 고릅니다. 5×5·10×10·15×15가 있고, 넓은 화면에서는 20×20도 고를 수 있습니다. 크기 버튼이나 새 퍼즐을 누를 때마다 새 퍼즐이 나옵니다.
- 행 왼쪽과 열 위의 숫자를 봅니다. 숫자는 그 줄에서 끊기지 않고 이어서 칠해야 하는 칸 수입니다.
- 확실히 칠할 칸은 칠하고, 확실히 비는 칸에는 X를 쳐 둡니다. 누른 채 끌면 한 줄을 한 번에 칠합니다.
- 모든 행과 열의 칠한 칸이 단서와 맞으면 완성입니다. 단서와 맞은 줄은 숫자가 흐려져서 남은 줄을 찾기 쉽습니다.
숫자 단서 읽는 법
- 숫자 하나는 칠한 칸이 끊기지 않고 이어진 한 덩어리의 길이입니다. 10칸 줄에 7이면 7칸이 한 덩어리로 이어지고 나머지 3칸은 빕니다.
- 숫자가 여러 개면 적힌 순서대로 덩어리가 놓입니다. 행은 왼쪽부터, 열은 위부터 읽습니다. 덩어리 사이에는 적어도 한 칸이 빕니다.
- 0은 그 줄에 칠할 칸이 하나도 없다는 뜻입니다.
- 덩어리 앞뒤와 사이에 빈 칸이 몇 개인지는 알려 주지 않습니다. 이것을 행과 열의 단서를 맞춰 보며 알아내는 것이 노노그램입니다.
아래는 5×5 예시입니다. 5인 2·3행을 먼저 모두 칠하고, 4인 2·3·4열은 뒤에 나오는 겹침 법칙으로 2~4행이 칠해집니다. 그러면 1·5열의 2는 이미 다 찼으므로 나머지 칸이 모두 빈 칸입니다. 이렇게 행과 열을 오가며 채우면 오른쪽 답이 나옵니다.
조작법
- PC: 왼쪽 클릭으로 칠하고 오른쪽 클릭(맥은 Ctrl+클릭)으로 X를 칩니다. 같은 표시가 있는 칸을 다시 누르면 지워집니다.
- 끌기: 누른 채 끌면 처음 움직인 방향(가로 또는 세로)으로 한 줄이 한꺼번에 바뀝니다. 빈 칸에서 시작하면 지나간 빈 칸을 칠하고(X 칸은 그대로), 칠한 칸에서 시작하면 지나간 칠한 칸을 지웁니다.
- 휴대폰: 판 아래 누르면: 칠하기 / X 표시 버튼으로 탭 동작을 바꿉니다. 탭과 끌기는 PC와 같습니다. 칸이 작으면 두 손가락으로 확대할 수 있습니다.
- 키보드: Tab으로 판을 선택하면 초록 테두리 커서가 나타납니다. 방향키로 이동하고 Space·Enter는 지금 고른 동작, F는 칠하기, X는 X 표시, Z(또는 Ctrl+Z)는 되돌리기입니다.
- 마우스나 커서가 있는 칸의 행과 열은 옅은 노란색으로 표시되어, 어느 단서를 보고 있는지 따라가기 쉽습니다. 5칸마다 굵은 선이 있어 칸 수를 세기도 편합니다.
- 되돌리기는 누르기·끌기 한 번을 단위로 취소합니다. 초기화는 판을 모두 비우는데, 이것도 되돌리기로 되살릴 수 있습니다.
푸는 요령
노노그램 추리는 대부분 "한 줄 안에서 단서를 놓을 수 있는 방법을 모두 떠올리고, 모든 방법에서 똑같이 칠해지는 칸과 똑같이 비는 칸을 찾는 것"입니다. 자주 쓰는 방법은 아래와 같습니다.
- 겹침 법칙: 덩어리를 왼쪽 끝으로 붙인 배치와 오른쪽 끝으로 붙인 배치를 겹쳐 봅니다. 같은 덩어리가 두 배치에서 함께 덮는 칸은 어떻게 놓아도 칠해집니다. 줄 길이에서 "단서 합 + 사이 빈 칸 수"를 뺀 값을 여유라고 하면, 여유보다 긴 덩어리는 (덩어리 길이 − 여유)칸이 확정됩니다. 10칸에 7이면 여유가 3이므로 4칸이 정해집니다.
- 0과 꽉 찬 줄: 0인 줄은 모두 X입니다. 여유가 0인 줄(단서가 줄 길이와 같거나, 단서 합과 사이 빈 칸의 합이 줄 길이와 같은 줄)은 줄 전체가 정해지므로 가장 먼저 채웁니다.
- 가장자리: 줄의 첫 칸이나 끝 칸이 칠해져 있으면 그쪽 첫 덩어리가 거기서 시작합니다. 단서만큼 이어서 칠하고 바로 다음 칸에 X를 칩니다. 가장자리 가까이 칠한 칸이 있을 때도 덩어리가 넘어갈 수 없는 칸을 따져 볼 수 있습니다.
- X로 확정: 단서의 덩어리를 모두 찾은 줄은 나머지 칸이 모두 빈 칸입니다. X가 줄을 짧은 구간으로 나누면, 가장 짧은 덩어리도 들어갈 수 없는 구간은 통째로 X입니다.
- 행과 열 번갈아 보기: 한 줄에서 정한 칸은 그 칸을 지나는 반대 방향 줄의 새 단서가 됩니다. 큰 숫자가 있는 줄과 가장자리부터 시작해, 새로 정한 칸이 생긴 줄을 차례로 다시 보면 판이 조금씩 풀립니다.
크기별 난이도
같은 방식으로 만든 퍼즐이라도 판이 커질수록 한 줄의 단서가 길어지고, 한 번에 정해지는 칸이 적어져 행과 열을 오가는 횟수가 늘어납니다. n칸 줄에 들어갈 수 있는 덩어리는 최대 n÷2(올림)개입니다.
| 크기 | 칸 | 한 줄 단서 최대 | 특징 |
|---|---|---|---|
| 5×5 | 25 | 3개 | 규칙을 익히기에 알맞은 크기입니다. |
| 10×10 | 100 | 5개 | 기본 크기. 행과 열을 여러 번 오가야 합니다. |
| 15×15 | 225 | 8개 | 단서가 길어지고 추론 단계가 늘어납니다. |
| 20×20 | 400 | 10개 | 넓은 화면(PC·태블릿)에서만 고를 수 있습니다. |
처음이라면 5×5로 규칙을 익히고 10×10으로 넘어가는 것을 권합니다. 휴대폰에서 15×15는 칸이 작아지므로 끌어서 칠하기와 두 손가락 확대를 함께 쓰면 편합니다.
답이 하나뿐인 퍼즐 만들기
단서만 보고 풀었는데 답이 여러 개라면 논리로는 끝까지 풀 수 없습니다. 예를 들어 아래 2×2 퍼즐은 모든 단서가 1이어서 두 대각선 가운데 어느 쪽을 칠해도 맞습니다. 이런 퍼즐은 결국 찍어야 합니다.
그래서 이 게임은 퍼즐을 이렇게 만듭니다. 먼저 칸마다 약 55% 확률로 칠한 무작위 판을 만들고 단서를 계산합니다. 그다음 컴퓨터가 위의 요령처럼 한 줄에 단서를 놓는 방법을 모두 따져 확실한 칸만 정하는 추론을 행과 열에 번갈아 적용해, 판 전체가 끝까지 정해지는지 확인합니다. 끝까지 풀리지 않으면 그 판은 버리고 다시 만듭니다. 이렇게 통과한 퍼즐은 답이 하나뿐이고, 사람이 한 줄씩 따져서 풀 수 있습니다. 지뢰가 무작위로 놓이는 지뢰찾기에서는 두 칸 가운데 하나를 찍어야 하는 판이 생길 수 있지만, 이 노노그램에서는 그런 판이 나오지 않습니다.
반대로 여러 줄을 동시에 가정해 봐야만 풀리는 퍼즐은 나오지 않습니다. 사람이 만든 대형 퍼즐에는 이런 고난도 단계가 들어가기도 하지만, 이 게임은 누구나 추론만으로 끝낼 수 있는 퍼즐을 기본으로 삼았습니다.
퍼즐을 만드는 데 쓴 번호가 퍼즐 번호(1~999999)입니다. 크기와 번호가 같으면 항상 같은 퍼즐이 나오므로, 번호를 입력해 같은 퍼즐을 다시 풀거나 다른 사람과 같은 퍼즐을 풀어 볼 수 있습니다.
기록과 틀린 칸 확인
시간은 첫 칸을 칠하거나 X를 친 순간부터 완성할 때까지 잽니다. 크기별 최고 기록은 이 브라우저의 저장소에만 남고 서버로 전송되지 않습니다.
막혔을 때는 틀린 칸 확인을 누르면 지금까지 표시한 칸 가운데 정답과 다른 칸(빈 칸이어야 하는데 칠한 칸, 칠해야 하는데 X를 친 칸)이 2.5초 동안 빨갛게 표시됩니다. 칠하는 순간마다 맞고 틀림을 알려 주는 자동 오답 표시는 없습니다. 확인을 한 번이라도 쓴 판은 완성해도 최고 기록에 넣지 않습니다.
역사와 이름
- 영어 위키백과에 따르면 1987년 일본의 그래픽 편집자 이시다 논(Non Ishida)이 도쿄의 한 공모전에서 고층 건물 창문의 불을 켜고 꺼서 그림을 만드는 디자인으로 우승한 것이 시작으로 꼽힙니다. 이시다는 1988년 「Window Art Puzzles」라는 이름으로 그림 격자 퍼즐을 발표했습니다.
- 같은 무렵 일본의 퍼즐 작가 니시오 데쓰야(Tetsuya Nishio)도 따로 같은 형식의 퍼즐을 고안해 다른 잡지에 실었습니다.
- 노노그램이라는 이름은 영국의 제임스 달게티(James Dalgety)가 창작자 이름의 "Non"과 diagram의 "-gram"을 합쳐 지었습니다. 1990년부터 영국 신문 The Sunday Telegraph에 매주 실리면서 널리 알려졌습니다.
- 1995년 3월 닌텐도가 일본에서 게임보이용 「마리오의 피크로스」를 내면서, 피크로스(Picross)라는 이름으로 비디오 게임에서도 자리 잡았습니다.
- 수학에서는 노노그램 퍼즐에 해가 있는지 판정하는 문제가 NP-완전 문제라는 것이 알려져 있습니다.
자주 묻는 질문
찍지 않고 논리만으로 풀 수 있나요?▾
풀 수 있습니다. 이 게임은 퍼즐을 만든 뒤 컴퓨터가 한 줄씩 따지는 추론만으로 끝까지 풀리는지 확인하고, 풀리지 않으면 버리고 다시 만듭니다. 그래서 모든 퍼즐은 답이 하나뿐이고, 두 칸 가운데 하나를 찍어야 하는 순간이 없습니다.
완성 그림이 왜 무늬처럼 나오나요?▾
칸을 무작위로 칠해 만든 퍼즐이어서, 사람이 그린 퍼즐처럼 동물이나 사물 모양이 나오지 않습니다. 대신 번호마다 새 퍼즐이 나오고 답이 하나뿐인지 확인된 퍼즐만 나옵니다. 그림을 맞히는 재미보다 추리 과정을 연습하는 데 맞습니다.
X 표시는 꼭 해야 하나요?▾
아니요. 완성 판정은 칠한 칸만 봅니다. X는 "여기는 확실히 빈 칸"이라는 메모로, 큰 퍼즐에서 이미 따진 칸을 다시 보지 않게 해 줍니다. X를 친 칸은 끌어서 칠할 때도 바뀌지 않으므로 실수로 칠하는 것도 막아 줍니다.
칠한 칸은 어떻게 지우나요?▾
칠한 칸을 한 번 더 누르면 지워집니다. 칠한 칸에서 시작해 누른 채 끌면 그 줄의 칠한 칸이 한꺼번에 지워집니다. X도 X 표시 상태(PC는 오른쪽 클릭)에서 같은 방법으로 지웁니다. 바로 앞 동작은 되돌리기(Z)로 취소할 수 있습니다.
휴대폰에서는 X를 어떻게 치나요?▾
판 아래 "누르면" 옆의 X 표시 버튼을 누른 뒤 칸을 탭하거나 끌면 됩니다. 다시 칠하기 버튼을 누르면 칠하기로 돌아갑니다. 칸이 작으면 두 손가락으로 화면을 확대해서 칠해도 됩니다.
퍼즐 번호는 무엇인가요?▾
퍼즐을 만드는 데 쓴 번호(1~999999)입니다. 크기와 번호가 같으면 언제나 같은 퍼즐이 나오므로, 번호를 적어 두었다가 "퍼즐 번호" 칸에 넣고 열기를 누르면 같은 퍼즐을 다시 풀 수 있고 다른 사람과 같은 퍼즐을 풀어 볼 수도 있습니다.
틀린 칸 확인을 쓰면 어떻게 되나요?▾
정답과 다른 칸(빈 칸이어야 하는데 칠한 칸, 칠해야 하는데 X를 친 칸)이 2.5초 동안 빨갛게 표시됩니다. 아직 표시하지 않은 칸은 알려 주지 않습니다. 확인을 한 번이라도 쓴 판은 완성해도 최고 기록에 넣지 않습니다.
기록은 어디에 저장되나요?▾
크기별 최고 기록(가장 빠른 완성 시간)만 이 브라우저의 저장소(localStorage)에 남고 서버로는 전송되지 않습니다. 시간은 첫 칸을 표시한 순간부터 완성할 때까지입니다. 브라우저 데이터를 지우거나 다른 기기에서 열면 기록이 보이지 않습니다.
역사와 다른 이름은 영어 위키백과 「Nonogram」 문서를, 국내 퍼즐 책 이름은 제우미디어 도서 정보를 참고했습니다. 퍼즐은 브라우저 안에서 만들어지며, 기록은 이 브라우저에만 저장되고 서버로 전송되지 않습니다.