연습장

15. 이웃한 칸 본문

프로그래머스/1단계

15. 이웃한 칸

js0616 2024. 1. 17. 07:14

 

내가 고른 칸과 상하좌우 4칸의 색 중에서 몇개가 같은지를 알아보는 문제이다.

 

board 는 다음과 같이 2중 배열로 주어진다.

[["blue", "red", "orange", "red"],

["red", "red", "blue", "orange"],

["blue", "orange", "red", "red"],

["orange", "orange", "red", "blue"]]

 


board[h][w] 의 색을 확인하고

board[h-1][w]

board[h+1][w]

board[h][w+1]

board[h][w-1] 

각각의 색을 확인해서 갯수를 알려주면 된다. 

 

 

이렇게 테두리 값을 고를 경우에 대해서 예외 처리가 필요하다. 

 

 

 

# 선택한 기준 색
    color = board[h][w] 


    if h-1 >= 0 : # 상
        print(board[h-1][w])
    if h+1 <= len(board): # 하
        print(board[h+1][w])
    if w-1 >= 0: # 좌
        print(board[h][w-1])
    if w+1 <= len(board[0]): # 우
        print(board[h][w+1])


def solution(board, h, w):
    answer = 0
    
    color = board[h][w]
    if h-1 >= 0 : # 상
        if color == (board[h-1][w]):
            answer += 1
    if h+1 <= len(board)-1: # 하
        if color == (board[h+1][w]):
            answer += 1
    if w-1 >= 0: # 좌
        if color == (board[h][w-1]):
            answer += 1
    if w+1 <= len(board[0])-1: # 우
        if color == (board[h][w+1]):
            answer += 1
    
    return answer

 

 

'프로그래머스 > 1단계' 카테고리의 다른 글

17. 키패드 누르기  (0) 2024.01.19
16. 크레인 인형뽑기 게임  (0) 2024.01.17
14. 둘만의 암호  (0) 2024.01.17
13. 실패율  (0) 2023.12.16
12. 덧칠하기  (0) 2023.12.16