관리 메뉴

기억을 위한 기록들

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

Coding Test - cpp

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

에드윈H 2024. 4. 14. 15:45

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

 

프로그래머스

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

programmers.co.kr

 

문제는 특정 좌표에 대한 컬러string이 주변 4방향에 동일한 컬러string을 갖고 있는 갯수에 대한 탐색이다.

 

내 풀이 : 

#include <string>
#include <vector>

using namespace std;
int dir[4][2] ={{0,-1},{0,1},{-1,0},{1,0}};

int solution(vector<vector<string>> board, int h, int w) {
    int answer = 0;
    
    for(int i=0;i<4;i++)
    {
        int targetH = h+dir[i][0];
        int targetW = w+dir[i][1];
        if(targetW<0 ||targetH<0 || board.size()<= targetW ||board.size()<= targetH )
        {
            continue;
        }
        
        if(board[h][w] == board[targetH][targetW])
        {
            answer++;
        }
    }
    return answer;
}