[프로그래머스] [PCCE 기출문제] 9번 / 이웃한 칸(250125)

lhs's avatar
Dec 08, 2024
[프로그래머스] [PCCE 기출문제] 9번 / 이웃한 칸(250125)
 

1. 문제 풀이 아이디어

  • 문제에 주어진 의사코드를 활용하여 해결할 수 있다.

2. 나의 정답 코드

class Solution { public int solution(String[][] board, int h, int w) { int answer = 0; int[][] dir = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}}; for (int i = 0; i < 4; i++) { int nx = h + dir[i][0]; int ny = w + dir[i][1]; if (nx < 0 || ny < 0 || nx >= board.length || ny >= board[0].length) { continue; } if (board[nx][ny].equals(board[h][w])) answer++; } return answer; } }

3. 정리

  • 상하좌우의 방향을 나타내는 값을 dir 2차원 배열에 저장한다.
  • 다음 위치의 좌표를 nxny로 계산한 뒤, 해당 좌표가 범위를 벗어나면 넘어간다.
  • nx, ny 위치의 board 값과 h, w 위치의 board 값이 같으면 answer를 증가시킨다.
  • 이 과정을 반복하여 문제를 해결한다.
Share article

LHS's Study Space