브라우저에서 노노그램 퍼즐을 무료로 즐기세요.
행과 열 가장자리에 있는 숫자 단서가 각 줄에서 채워진 칸 묶음의 길이와 순서를 알려줍니다. 먼저 단서 합계가 줄 길이에 가장 가까운 행이나 열을 찾아 겹침 기법을 적용합니다. 예를 들어 10칸 줄에서 단서가 8이라면 가운데 6칸은 반드시 채워집니다. 채워진다고 확신한 칸은 색으로 표시하고, 비어 있다고 확신한 칸은 X로 표시해 실수를 줄입니다. 단서 합계와 최소 간격 합산이 줄 길이와 정확히 일치하면 배치가 유일하게 결정됩니다.
노노그램에는 추측이 필요 없는 논리적 해법이 항상 존재합니다. 한 번 칸을 확정하면 그 정보가 교차하는 열이나 행에 새 단서를 제공하므로 연쇄 반응처럼 풀립니다. 행 정보만으로 막히면 열을 분석하고, 열도 막히면 다시 행으로 돌아오는 방식으로 순환 분석합니다. 간혹 고급 퍼즐에서는 모순 검사(특정 칸이 채워진다고 가정했을 때 불가능한 상황이 생기면 반드시 비어 있음)가 필요하지만, 입문 단계에서는 대부분 겹침 기법만으로 충분합니다.
노노그램은 일본에서 피크로스라는 이름으로 닌텐도 게임보이 소프트로 출시된 뒤 국내에도 퍼졌습니다. 국내 퍼즐 잡지에 '네모네모 로직'이라는 이름으로 실렸고, 지금도 중장년층에게는 그 이름이 더 친숙합니다. 닌텐도 DS와 3DS 시절 피크로스 시리즈가 큰 인기를 끌었으며, 현재도 스팀에서 수백 개의 노노그램 타이틀이 판매되고 있습니다. 완성된 그림이 나타나는 순간의 성취감이 반복 플레이를 유도하는 가장 큰 매력입니다.
가장 잦은 실수는 증명된 추론이 아니라 감으로 칸을 채우는 것입니다. 틀린 칸 하나가 그 행과 열 전체로 퍼지고, 칸별 오류 표시가 없어 한참 뒤에야 모순을 발견하게 됩니다. 채운 칸뿐 아니라 비었음이 증명된 칸도 항상 표시하세요. X는 채운 칸만큼 정보를 주며, 이미 푼 영역을 다시 살피는 일을 막아줍니다. 또 다른 함정은 3 1 같은 단서를 순서가 있는 연속이 아니라 별개의 독립된 숫자로 다루는 것입니다. 이 단서는 두 덩어리 사이에 간격이 필요합니다. 초보자는 덩어리 사이의 간격이 0이 아니라 최소 한 칸이라는 점도 잊습니다. 막히면 가장 많이 채워진 행과 교차하는 직각 방향의 줄로 옮겨가세요. 교차 제약이 순수한 추측 대신 다음 강제된 수를 거의 항상 드러내줍니다.
노노그램의 난이도는 단순히 크기뿐 아니라 격자 크기와 단서 밀도에 따라 올라갑니다. 5x5 격자는 보통 겹침만으로 풀리지만, 15x15나 25x25 그림은 한 열을 풀면 세 행이 풀리는 식으로 서로 참조되는 추론의 연쇄가 필요합니다. 1 1처럼 긴 줄에 단서가 듬성한 경우는, 직각 방향의 줄이 위치를 못 박을 때까지 단일 칸들이 거의 어디든 놓일 수 있어 의외로 어렵습니다. 줄 길이에 가까운 큰 숫자가 든 빽빽한 줄은 겹침 기법으로 많은 칸을 즉시 채우므로 더 쉽습니다. 밑바탕 그림도 영향을 줍니다. 단단한 형태는 도움이 되는 큰 덩어리를 만들지만, 세밀하거나 대칭적인 그림은 초반 진척을 막는 흩어진 짧은 단서를 만듭니다. 많은 모음집이 퍼즐을 크기와 별도의 논리 등급으로 매기므로, 작은 격자가 늘 빠르다고 여기지 말고 등급을 보고 고르세요.
잘 설계된 노노그램은 추론만으로 도달하는 단 하나의 해를 가지므로 추측할 필요가 전혀 없습니다. 추측하게 된다면 보통 강제된 수를 놓친 것이니, 줄 길이 대비 단서가 가장 큰 줄, 즉 겹침이 칸을 먼저 채우는 줄을 다시 점검하세요.
비었음이 증명된 칸을 X로 표시하면 단서의 덩어리가 들어갈 자리가 좁아져, 다음 채울 칸이 강제되는 경우가 많습니다. 빈 표시는 채운 표시와 같은 논리적 무게를 지니며, 이를 건너뛰는 것이 중대형 격자에서 막히는 주된 이유입니다.
초반의 잘못 채운 칸 하나가, 어떤 줄은 숫자를 만족하는 듯 보이게 하면서도 교차하는 줄을 망가뜨릴 수 있습니다. 각 열을 단서와 다시 대조하세요. 오류는 보통 틀린 칸 하나가 직각 방향 어딘가에 잘못된 덩어리를 강제한 곳에서 드러납니다.
꼭 그렇지는 않습니다. 빽빽한 큰 단서가 든 25x25는 겹침으로 빠르게 풀릴 수 있는 반면, 1 1 단서가 가득한 작은 격자는 더 오래 모호하게 남습니다. 순수한 크기보다 단서 밀도와 줄이 교차하는 방식이 더 중요합니다.
모든 긴 단서에 먼저 겹침을 적용하고, 빈 칸을 즉시 표시하며, 가장 최근에 채운 칸을 공유하는 직각 방향의 줄로 항상 옮겨가세요. 속도는 한 줄을 따로 들여다보는 것이 아니라 교차 제약을 연쇄적으로 엮는 데서 나옵니다.