지뢰 찾기 는 타일을 클릭하지 않고 어떤 타일이 "광산"인지 알아 내야하는 인기있는 퍼즐 게임입니다. 각 타일은 광산 (으로 표시 *
) 또는 단서, 즉 8 개의 인접 타일 중 몇 개가 광산인지를 나타내는 0에서 8까지의 숫자입니다. 오늘 당신의 임무는 광산을 포함하는 보드를 가지고 모든 단서를 채우는 것입니다. 예를 들어, 5 개의 지뢰가있는 다음 5x4 보드를보십시오.
*
* *
*
*
단서를 채운 후 보드는 다음과 같습니다.
2*211
*33*1
12*32
0112*
세부
공백과 별표 만 포함 된 문자 격자를 취하고 각 공백이 인접한 광산 수 (별표)로 대체되는 다른 격자를 출력하는 전체 프로그램 또는 함수를 작성해야합니다. 다음 중 원하는 형식을 그리드에 사용할 수 있습니다.
줄 바꿈이있는 문자열
문자 / 단일 문자열의 2D 목록
문자열 목록
그리드가 1x1 이상 이라고 가정 할 수 있지만 모든 광산 또는 모든 공간 일 수 있습니다.
입력 그리드는 항상 적절한 수의 공백으로 채워집니다. 평소와 같이 이것은 code-golf 이므로 표준 허점이 적용되고 바이트 단위의 최단 답변이 승리합니다!
샘플 IO
공백을 볼 수 있도록 모든 샘플 IO를 괄호로 묶습니다.
Input:
[ * ]
[* ]
[ ]
[ ]
[ ** ]
[ * * ]
Output:
[1101*1]
[*10111]
[110000]
[012210]
[12**21]
[1*33*1]
Input:
[****]
[****]
Output:
[****]
[****]
Input:
[ ]
[ ]
[ ]
[ ]
Output:
[000]
[000]
[000]
[000]
Input:
[* ]
[** ]
[ ]
[ *]
Ouput:
[*310]
[**10]
[2221]
[001*]
Input:
[** ]
[* *]
[ * ]
[ ]
[* ]
[**** ]
Output:
[**1011]
[*4211*]
[12*111]
[121100]
[*43210]
[****10]
Input:
[ * ]
[ * ]
[ * ]
[** *** ]
[ *** ]
[ ]
[ ** ]
[ * * ]
[* ** ]
[ ** ]
Output:
[00001*1111]
[00002221*1]
[22102*4321]
[**102***31]
[221013***1]
[0000013542]
[0112111**1]
[12*2*12442]
[*212112**2]
[1100002**2]