반응형
문제
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;
}
}
반응형
'개발 창고 > Algorithm' 카테고리의 다른 글
[프로그래머스] PCCE 기출문제 10번 / 데이터 분석 - JAVA (144) | 2024.01.18 |
---|---|
[ALGORITHM] QUICK SORT (129) | 2024.01.11 |
[프로그래머스] 가장 많이 받은 선물 - JAVA (48) | 2024.01.07 |
[프로그래머스] 마지막 두 원소 - JAVA (135) | 2024.01.06 |
[프로그래머스] PCCP 기출문제 1번(붕대감기) (0) | 2023.12.08 |