[JAVA 문제 풀이] 301. 이웃한 칸

프로그래머스 (250125)
Stupefyee's avatar
Jun 05, 2025
[JAVA 문제 풀이] 301. 이웃한 칸
notion image
 

내가 작성한 코드

class Solution { public int solution(String[][] board, int h, int w) { int answer = 0; int n = board.length; int[] dh = { 0, 1, -1, 0 }; // 높이 이동 int[] dw = { 1, 0, 0, -1 }; // 너비 이동 String target = board[h][w]; // 현재 위치의 타겟 문자열 for (int i = 0; i < dh.length; i++) { int nh = h + dh[i]; // 이동한 높이 int nw = w + dw[i]; // 이동한 너비 // 이동한 위치가 범위를 벗어나면 continue if (nh < 0 || nh >= n || nw < 0 || nw >= board[0].length) continue; // 이동한 위치의 색깔이 타겟과 같으면 if (board[nh][nw].equals(target)) { answer++; board[h][w] = ""; board[nh][nw] = ""; } } return answer; } }
Share article

stupefyee