본문 바로가기

Algorithm/Implementation

(Python3) - 프로그래머스(PCCE 기출문제): 9번 이웃한 칸

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/250125

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

1. 동서남북 이동을 위한 배열 dh, dw를 선언 후 각각 [0,0,1,-1], [1,-1,0,0]으로 초기화해줍니다.

 

2. 행 길이 n, 열 길이 m, 정답변수 answer를 선언 후 적절히 초기화해줍니다.

📔 풀이과정

지문에 나온대로 구현해주면 됩니다. 4방향에 대해 범위 안쪽이면서 같은 색깔이라면 answer에 1을 더해줍니다.

📔 정답 출력 | 반환

answer를 반환합니다.


📕 Code

📔 Python3

from queue import Queue
dh = [0,0,1,-1]
dw = [1,-1,0,0]

def solution(board, h, w):
    n = len(board)
    m = len(board[0])
    answer = 0
    for i in range(0, 4):
        nh = h + dh[i]
        nw = w + dw[i]
        if 0 > nh or nh >= n or 0 > nw or nw >= m:
            continue
        if board[nh][nw] != board[h][w]:
            continue
        answer+=1
    return answer

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.