Notice
Recent Posts
Recent Comments
Link
오늘도 개발
파이썬 코딩 도장 - 지뢰 찾기(23.7) 본문
문제
표준 입력으로 2차원 리스트의 가로(col)와 세로(row)가 입력되고 그 다음 줄부터 리스트의 요소로 들어갈 문자가 입력됩니다.
이때 2차원 리스트 안에서 *는 지뢰이고 .은 지뢰가 아닙니다.
지뢰가 아닌 요소에는 인접한 지뢰의 개수를 출력하는 프로그램을 만드세요.
# 입력
3 3
.**
*..
.*.
# 출력
2**
*43
2*1
해결 방식
from pprint import pprint
col, row = map(int, input().split())
matrix = []
for i in range(row):
matrix.append(list(input()))
for i in range(row):
for j in range(col):
if matrix[i][j] == '*':
continue
else:
matrix[i][j] = 0
# 각 요소 주변을 모두 검사, 지뢰가 나오면 1씩 추가
for y in range(i-1, i+2):
for x in range(j-1, j+2):
if y < 0 or x < 0 or y >= row or x >= col:
continue
elif matrix[y][x] == '*':
matrix[i][j] += 1
pprint(matrix, indent = 1, width=30)
'자료구조 & 알고리즘 > Leetcode' 카테고리의 다른 글
| 0. Max Consecutive Ones (0) | 2022.05.06 |
|---|---|
| 파이썬 코딩 도장 - Palindrome 검사하기 (0) | 2022.04.13 |
| 파이썬 코딩 도장 - FizzBuzz (0) | 2022.04.08 |
| 파이썬 코딩 도장 - 계단식으로 별 출력하기 (0) | 2022.04.08 |
| 백준 10950번 - A+B - 3 (0) | 2022.03.16 |