[Python 문제풀이] 18일차

2020. 7. 26. 11:0003. Resources/Python

728x90
반응형

Day_18

Intro

Q24. Mindsweeper

In the popular Minesweeper game you have a board with some mines and those cells that don't contain a mine have a number in it that indicates the total number of mines in the neighboring cells. Starting off with some arrangement of mines we want to create a Minesweeper game setup.

알고리즘 고민, 및 러프한 코드 작성 중!

작성 흐름

# Test case

import numpy as np

matrix = [[True, False, False],
          [False, True, False],
          [False, False, False]]

# 알고리즘 생각해보기

# 만약 현재 값이 true인 경우, 현재 인덱스의 값은 1
# 만약 현재 값이 false인 경우, 현재 인덱스의 값은 현재 위치 값의 주위에 true 개수

row = len(matrix)
col = len(matrix[0])

MineCounterMat = np.zeros((row, col))

print(row)
print(col)

for idx_row in range(row):

    for idx_col in range(col): 

        MineCounter = 0

        CurrVal = matrix[idx_row][idx_col]

        if idx_row == 0:
            idx_row_set = [idx_row, idx_row + 1]
        if idx_row == row:
            idx_row_set = [idx_row - 1, idx_row]

        if idx_col == 0:
            idx_col_set = [idx_col, idx_col + 1]
        if idx_col == col:
            idx_col_set = [idx_col - 1, idx_col]

        print(idx_row_set)
        print(idx_col_set)
        for mine_row in idx_row_set:
            for mine_col in idx_col_set:
                if matrix[mine_row][mine_col]:
                    print(mine_row)
                    print(mine_col)
                    MineCounter = MineCounter + 1

        MineCounterMat[idx_row][idx_col] = MineCounter

print(MineCounterMat)
반응형

'03. Resources > Python' 카테고리의 다른 글

[Python/SQL] PyMySQL - 패키지 설치  (0) 2021.08.21
[Python 문제풀이] 19일차 (끝)  (0) 2020.07.27
[Python 문제풀이] 17일차  (0) 2020.07.25
[Python 문제풀이] 16일차  (0) 2020.07.24
[Python 문제풀이] 15일차  (0) 2020.07.23