Algorithm

[Conc & Sol] 방향 배열을 활용한 간단한 문제

Uykm 2024. 6. 18. 19:22

▼ Why ? What ?

1일 1알고리즘 스터디에서 "이웃한 칸"이라는 문제를 풀었고, 방향 배열을 만들어주면 쉽게 해결할 수 있는 문제였다.


알고리즘 문제 : "이웃한 칸"

 

이웃한 칸

https://school.programmers.co.kr/learn/courses/30/lessons/250125

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

[ 나의 해결 코드 1 ]

class Solution {
    public int solution(String[][] board, int h, int w) {
        int count = 0;
        int[] dh = {-1, 0, 1, 0}; // 상 우 하 좌
        int[] dw = {0, 1, 0, -1};
        String centerColor = board[h][w];
        
        for (int i = 0; i < 4; ++i) {
            int nh = h + dh[i];
            int nw = w + dw[i];
            if ((nh < 0) || (nh >= board.length) ||
                (nw < 0) || (nw >= board.length))
                continue;
            if (board[nh][nw].equals(centerColor))
                count++;
        }
        
        return count;
    }
}