-
[4396] 지뢰 찾기 - Python알고리즘 연습 2022. 6. 13. 15:28
1. 문제
https://www.acmicpc.net/problem/4396
2. 풀이
def count_mine(x, y): dx = [-1, -1, -1, 0, 0, 1, 1, 1] dy = [-1, 0, 1, -1, 1, -1, 0, 1] count = 0 for i in range(8): nx = x + dx[i] ny = y + dy[i] if 0 <= nx < n and 0 <= ny < n: if mine_map[nx][ny] == '*': count += 1 return count # 1. Read the information n = int(input()) mine_map = [list(input()) for _ in range(n)] game_map = [list(input()) for _ in range(n)] result = [['.'] * n for _ in range(n)] # 2. Draw the situation for i in range(n): for j in range(n): if mine_map[i][j] == '.' and game_map[i][j] == 'x': result[i][j] = count_mine(i, j) if mine_map[i][j] == '*' and game_map[i][j] == 'x': for k in range(n): for l in range(n): if mine_map[k][l] == '*': result[k][l] = '*' # 3. Print the result for i in range(n): for j in range(n): print(result[i][j], end='') print()
3. 배운점
4. 개선할 점
풀이 오류 지적, 다른 접근법 공유, 그 밖에 질문 등 모든 의견을 환영합니다.
'알고리즘 연습' 카테고리의 다른 글
[1439] 뒤집기 - Python (0) 2022.04.07 [2579] 계단 오르기 - Java (0) 2022.03.23 [1003번] 피보나치 함수 - Java (0) 2022.03.18 [11057] 오르막수 - Java (0) 2022.03.15 [11052] 카드 구매하기 - Java (0) 2022.03.14