코딩테스트/프로그래머스
[프로그래머스] [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
반응형