본문 바로가기

프로그래머스 데브 코스/TIL

[6기] 프로그래머스 인공지능 데브코스 5일차 TIL

0905

3주차-Day2) NumPy 실습

심화 문제 1 - 지뢰찾기

주어지는 '2차원 행렬 board(10x10)'를 '5x5 4개의 구역'으로 나누고 각 구역마다 'bombs list'에 들어 있는 '지뢰 요소를 0으로 변경해 리턴'
# 대충 엉망인 코드 기록
import numpy as np

def solution(board, bombs):
    for i in range(4):
        np.putmask(board[i//2 * 5:i//2 * 5 + 5, i%2 * 5:i%2 * 5 + 5], board[i//2 * 5:i//2 * 5 + 5, i%2 * 5:i%2 * 5 + 5] == bombs[i], 0)

    return board

심화 문제 2 - 데이터 필터

'mxm 모양의 2차원 배열 n개'와 'mxm 모양의 2차원 필터 한 개'를 'n 개'로 만든 뒤 '행렬 곱 연산' 수행
# 대충 엉망인 코드 기록
import numpy as np

def solution(data, data_filter):
    answer = data @ data_filter/len(data)

    return answer