코딩테스트/프로그래머스

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

쪼르뚜 2024. 1. 17. 20:34
728x90
반응형


🔗 문제 링크 
https://school.programmers.co.kr/learn/courses/30/lessons/250125

 

프로그래머스

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

programmers.co.kr

 

👩‍💻 코드

#include <string>
#include <vector>
#include <iostream>

using namespace std;

int solution(vector<vector<string>> board, int h, int w) {
    int answer = 0;
    int n = board.size();
    vector<int> h_vector = { -1, 0, 0, 1};
    vector<int> w_vector = { 0, -1, 1, 0};
    
    for(int i=0; i<4; i++){
        int h_check = h + h_vector[i];
        int w_check = w + w_vector[i];
        if (h_check >= 0 && h_check < n && w_check >=0 && w_check < n){
            if (board[h][w] == board[h_check][w_check]){
                answer++;
            }
        }
    }
    
    return answer;
}

 

✏️ 풀이

문제에 코드 가이드 라인이 나와 있어서 그대로 따라 코딩만 해도 풀 수 있는 문제였다.

주의할 점은 보드판을 처음부터 끝까지 확인 할 필요가 없는 것!

인접한 칸(위, 양옆, 아래), 즉 4칸만 비교하면 되니 그 위치값을 정의 후 비교하는게 핵심이다.

 

728x90
반응형