numpy 실습
지뢰 찾기
board는 10 x 10 크기를 가진 2차원의 행렬로 되어있고, 다음과 같이 동등한 크기 5 x 5를 가진 4개의 구역으로 나뉩니다.
board의 각 구역마다 지뢰를 제거해야 합니다. 지뢰는 bomb1, bomb2, bomb3, bomb4 총 4개의 종류가 있으며 각 구역에서 제거해야 될 지뢰종류가 다릅니다.
1 구역에서는 bomb1에 해당하는 요소만 제거합니다.
2 구역에서는 bomb2에 해당하는 요소만 제거합니다.
3 구역에서는 bomb3에 해당하는 요소만 제거합니다.
4 구역에서는 bomb4에 해당하는 요소만 제거합니다.
bomb1, bomb2, bomb3, bomb4는 bombs에 차례대로 담겨 1차원 배열로 주어지고, 지뢰로 판단되는 요소를 0으로 변경하면 지뢰는 제거됩니다. numpy.ndarray타입의 배열로 board와 bombs가 주어졌을 때 지뢰를 제거한 후, 최종 board의 상태를 반환하는 함수를 구현하세요.
풀이
import numpy as np
def solution(board, bombs):
# 1구역에서 bomb1 제거
board[:5, :5][board[:5, :5] == bombs[0]] = 0
# 2구역에서 bomb2 제거
board[:5, 5:][board[:5, 5:] == bombs[1]] = 0
# 3구역에서 bomb3 제거
board[5:, :5][board[5:, :5] == bombs[2]] = 0
# 4구역에서 bomb4 제거
board[5:, 5:][board[5:, 5:] == bombs[3]] = 0
return board
'BOOTCAMP > 프로그래머스 인공지능 데브코스' 카테고리의 다른 글
[3주차 - Day4] Python으로 시각화하기 - Matplotlib (0) | 2023.03.31 |
---|---|
[3주차 - Day3] Python으로 데이터 다루기 - Pandas (0) | 2023.03.31 |
[3주차 - Day1] Python으로 데이터 다루기 - numpy (0) | 2023.03.27 |
[2주차 - Day5] 인공지능 수학 (0) | 2023.03.25 |
[2주차 - Day4] 시각화로 결과 요약하기 - Seaborn (0) | 2023.03.24 |