문제

2차원 격자 보드판 board과 고른 칸 h,w가 주어질 때
board[h][w]와 상,하,좌,우로 인접한 칸들 중에 같은 색으로 칠해져 있는 칸의 개수를 return 하세요

문제 풀러 가기


풀이


  1. 상하좌우의 좌표 같이 0보다 크고 board 밖으로 나가지 않게 조건을 설정한다
  2. 색이 같으면 cnt + 1을 해준다



코드

def solution(board, h, w):
    target_color = board[h][w]
    
    dx = [1,-1,0,0]
    dy = [0,0,1,-1]
    
    cnt = 0
    for i in range(4):
        nx = h + dx[i]
        ny = w + dy[i]
        if 0 <= nx < len(board) and 0 <= ny < len(board[0]):
            if board[nx][ny] == target_color:
                cnt +=1
    
    return cnt