반응형
bomb = []
row, column = map(int, (input().split()))
for i in range(row):
temp = input()
bomb.append(list(temp)) # 입력된 값을 차례로 리스트에 저장
for i in range(row):
for j in range(column):
bombcnt = 0
if bomb[i][j] == "*": # 현재 값이 지뢰면 지뢰를 출력하고 다음 반복
print("*",end="")
continue
if j-1 >= 0:
if(bomb[i][j-1] == '*'): # 현재 좌표 (x, y-1)의 지뢰탐색
bombcnt += 1
if i+1 <= column-1: # 현재 좌표 (x+1, y-1)의 지뢰탐색
if(bomb[i+1][j-1] == '*'):
bombcnt += 1
if j+1 <= column-1: # 현재 좌표 (x, y+1)의 지뢰탐색
if(bomb[i][j+1] == '*'):
bombcnt += 1
if i-1 >= 0: # 현재 좌표 (x-1, y+1)의 지뢰탐색
if(bomb[i-1][j+1] == '*'):
bombcnt += 1
if i-1 >= 0: # 현재 좌표 (x-1, y)의 지뢰탐색
if(bomb[i-1][j] == '*'):
bombcnt += 1
if j-1 >= 0: # 현재 좌표 (x-1, y-1)의 지뢰탐색
if(bomb[i-1][j-1] == '*'):
bombcnt += 1
if i+1 <= column-1: # 현재 좌표 (x+1, y)의 지뢰탐색
if(bomb[i+1][j] == '*'):
bombcnt += 1
if j+1 <= column-1: # 현재 좌표 (x+1, y+1)의 지뢰탐색
if(bomb[i+1][j+1] == '*'):
bombcnt += 1
print(bombcnt ,end="") #합산 지뢰 출력
print()
반응형
'코딩테스트' 카테고리의 다른 글
[JAVA] BFS 넓이 우선 탐색 Stack 으로 구현 (0) | 2022.07.30 |
---|---|
[JAVA] DFS 깊이 우선 탐색 Queue로 구현 (0) | 2022.07.30 |
[python] 백준 알고리즘 2525 오븐 시계 (0) | 2022.07.25 |
[JAVA] 팩토리얼 구하기 (재귀, 메모화) (0) | 2022.07.23 |
[JAVA] 피보나치 수열 구하기 (재귀, 메모화) (0) | 2022.07.23 |