https://school.programmers.co.kr/learn/courses/30/lessons/250125
각 칸마다 색이 칠해진 2차원 격자 보드판이 있다
그 중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 한다
변수
결과값
문제에 의사코드가 그대로 나와있습니다
물론 이대로 하지 않아도 된다고 문제에 나와있습니다
class Solution {
public int solution(String[][] board, int h, int w) {
int answer = 0;
int n = board.length;
int[] dh = new int[] {0, 1, -1, 0};
int[] dw = new int[] {1, 0, 0, -1};
for (int i=0 ; i<4 ; i++){
int h_check = h + dh[i];
int w_check = w + dw[i];
if (h_check >= 0 && h_check < n && w_check >=0 && w_check < n)
if (board[h][w].equals(board[h_check][w_check]))
answer++;
}
return answer;
}
}
그냥 설명되어있는 내용을 옮기기만 하면 돼서.. 생각보다 많이 쉬웠다
찾아보니까 dfs 알고리즘을 이용하는 문제랍니다