-
[알고리즘] 프로그래머스 1단계 - [PCCE 기출문제] 9번 / 이웃한 칸Algorithm 2024. 5. 7. 13:35
프로그래머스 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/250125
문제 설명
각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 합니다. 보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른 칸의 위치를 나타내는 두 정수 h, w가 주어질 때 board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요. 이웃한 칸들 중 몇 개의 칸이 같은 색으로 색칠되어 있는지 확인하는 과정은 다음과 같습니다.
예시
board
[["blue", "red", "orange", "red"], ["red", "red", "blue", "orange"], ["blue", "orange", "red", "red"], ["orange", "orange", "red", "blue"]]
h
1w
1
result
2
class Solution { public int solution(String[][] board, int h, int w) { int answer = 0; int n = board.length; int m = board[0].length; // 기준 위치의 색 찾기 String stdColor = board[h][w]; // 4방향으로 일치하는 색 찾기 // 하 if(h - 1 >= 0 && stdColor.equals(board[h - 1][w])) { answer++; } // 상 if(h + 1 < n && stdColor.equals(board[h + 1][w])) { answer++; } // 좌 if(w - 1 >= 0 && stdColor.equals(board[h][w - 1])) { answer++; } // 우 if(w + 1 < m && stdColor.equals(board[h][w + 1])) { answer++; } return answer; } }
'Algorithm' 카테고리의 다른 글
[알고리즘] 프로그래머스 2단계 - [PCCP 기출문제] 2번 / 석유 시추 (0) 2024.05.09 [알고리즘] 프로그래머스 1단계 - 모의고사 (0) 2024.05.08 [알고리즘] 프로그래머스 1단계 - 가장 많이 받은 선물 (0) 2024.05.06 [알고리즘] 프로그래머스 1단계 - 폰켓몬 (0) 2024.05.02