-Code
def search(x, y, arr, l):
dx = [-1, -1, -1, 0, 0, 0, 1, 1, 1]
dy = [-1, 0, 1, -1, 0, 1, -1, 0, 1]
cnt = 0
for i in range(9):
if 0 <= x + dx[i] < l and 0 <= y + dy[i] < l:
if arr[x + dx[i]][y + dy[i]] == '*':
cnt += 1
return cnt
def game(arr, arr2, l, f):
answer = []
for i in range(l):
line = []
for j in range(l):
if arr[i][j] == 'x':
if arr2[i][j] == '*' and not f:
f = True
return game(arr, arr2, l, f)
if arr2[i][j] == '*':
line.append(arr2[i][j])
else:
line.append(search(i, j, arr2, l))
else:
if f:
line.append(arr2[i][j])
else:
line.append('.')
answer.append(line)
return answer
n = int(input())
mine = [input() for _ in range(n)]
click = [input() for _ in range(n)]
flag = False
result = game(click, mine, n, flag)
for i in result:
print(*i, sep='')
예제 입출력은 나오나 틀려서 게시판을 보니 지뢰를 밟은 후는 x가 있는 곳은 주변 지뢰 숫자를 표현해야하고 아닌 곳은 지뢰가 있는 곳 없는 곳을 나타내야하는 문제였습니다. 하지만 그 것을 수정하고 또 다른 테스트 케이스인 처음이 아닌 2번째 줄 이후에 지뢰를 밟을 경우 그 줄만 표현이 되게 되어서 2번째 줄이후 밟을 경우 다시 처음부터 계산을 하게 하도록 바꿨습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 12933번 오리 (0) | 2022.05.15 |
---|---|
[백준/파이썬] 9242번 폭탄 해체 (0) | 2022.05.14 |
[백준/파이썬] 5534번 간판 (0) | 2022.05.14 |
[백준/파이썬] 20114번 미아 노트 (0) | 2022.05.14 |
[백준/파이썬] 4446번 ROT13 (0) | 2022.05.14 |