코딩테스트
[프로그래머스] 이웃한 칸
코딩너구리
2024. 8. 22. 15:00
문제 설명
각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 개수를 구하려고 합니다.보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른 칸의 위치를 나타내는 두 정수 h, w가 주어질 때 board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요.
제한사항
1 ≤ board의 길이 ≤ 7board의 길이와 board[n]의 길이는 동일합니다.0 ≤ h, w < board의 길이1 ≤ board[h][w]의 길이 ≤ 10board[h][w]는 영어 소문자로만 이루어져 있습니다.
상하좌우에서 조건을 걸면 바로 풀 수 있는 문제이다 이게 왜 정답률이 낮은지 잘 모르겠다.
#include <string>
#include <vector>
using namespace std;
int solution(vector<vector<string>> board, int h, int w) {
int answer = 0;
int size = board.size();
string targetString = board[h][w];
if(h-1>=0)
{
if(targetString==board[h-1][w])
{
answer++;
}
}
if(h+1<size)
{
if(targetString==board[h+1][w])
{
answer++;
}
}
if(w-1>=0)
{
if(targetString==board[h][w-1])
{
answer++;
}
}
if(w+1<size)
{
if(targetString==board[h][w+1])
{
answer++;
}
}
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/250125
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr