2차원 배열에 저장된 값을 이용하는 간단한 문제

 

 

프로그래머스

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

programmers.co.kr

 

1. 2차원 보드판의 길이를 구함(board와 board[n]의 길이는 동일)

2. 주어진 h, w에 있는 값을 구함

3. [h][w]를 기준으로 상하좌우로 1칸씩 이동 가능한지 확인하고 가능하다면

  해당 위치에 있는 값을 2번에서 구한 값과 비교 후 같으면 answer++

 

#include <string>
#include <vector>

using namespace std;

int solution(vector<vector<string>> board, int h, int w) {
    int answer = 0;
    int maxLength = board.size() - 1;
    
    string color = board[h][w];
    
    
    if(h > 0)
        if(color == board[h-1][w]) answer++;
    
    if(w > 0)
        if(color == board[h][w-1]) answer++;
    
    if(h < maxLength)
        if(color == board[h+1][w]) answer++;
    
    if(w < maxLength)
        if(color == board[h][w+1]) answer++;
    
    return answer;
}

+ Recent posts