개발 창고/Algorithm
[프로그래머스] PCCE 기출문제 9번 / 이웃한 칸 - JAVA
로이제로
2024. 1. 9. 07:00
반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/250125
문제 내용은 지적 재산 보호 차원에서 가져오지 않고 풀이만 공유드리도록 하겠습니다.
풀이
제 풀이가 무조건적으로 맞는 것도 최적의 답변도 아니지만, 이런 풀이도 있다는 차원에서 작성해 보며, 좀 더 나은 방법이 있다면 이야기해 주셔도 도움 될 것 같습니다.
class Solution {
public int solution(String[][] board, int h, int w) {
int answer = 0;
// 현재 컬러를 nColor에 할당
String nColor = board[h][w];
// h가 board y좌표의 시작 위치(0)가 아닌 경우, 위쪽 컬러 체크
if(h > 0 && nColor.equals(board[h-1][w])) answer++;
// w가 board x좌표의 시작 위치(0)가 아닌 경우, 왼쪽 컬러 체크
if(w > 0 && nColor.equals(board[h][w-1])) answer++;
// h가 board y좌표의 마지막 위치(board.length - 1)가 아닌 경우, 아래쪽 컬러 체크
if(h < board.length -1 && nColor.equals(board[h+1][w])) answer++;
// w가 board x좌표의 마지막 위치(board[h].length - 1)가 아닌 경우, 오른쪽 컬러 체크
if(w < board[h].length -1 && nColor.equals(board[h][w+1])) answer++;
return answer;
}
}
반응형