[PCCE 기출문제] 9번/이웃한 칸
2024. 3. 3. 09:58ㆍ코딩테스트 리뷰(프로그래머스)/코딩 테스트 Lv.1
https://school.programmers.co.kr/learn/courses/30/lessons/250125
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명 - 각 칸마다 색이 칠해진 2차원 격자 보드판이 있습니다. 그중 한 칸을 골랐을 때, 위, 아래, 왼쪽, 오른쪽 칸 중 같은 색깔로 칠해진 칸의 갯수를 구하려고 합니다. 보드의 각 칸에 칠해진 색깔 이름이 담긴 이차원 문자열 리스트 board와 고른 칸의 위치를 나타내는 두 정수 h,w가 주어질 때, board[h][w]와 이웃한 칸들 중 같은 색으로 칠해져 있는 칸의 개수를 return 하도록 solution 함수를 완성해 주세요. 제한사항
|
class Solution {
public int solution(String[][] board, int h, int w) {
int count = 0;
String searchColor = board[h][w];
if( h - 1 >= 0 && board[h-1][w].equals(searchColor)) count ++;
if( w - 1 >= 0 && board[h][w-1].equals(searchColor)) count ++;
if( h + 1 < board.length && board[h+1][w].equals(searchColor)) count ++;
if( w + 1 < board.length && board[h][w+1].equals(searchColor)) count ++;
return count;
}
}
문제 해설
해당 문제는 결국 배열 참조하는 문제입니다.
조건은 다음과 같습니다.
- 한 좌표를 기준으로 사방을 참조하는데 배열을 넘어서 참조를 하지 않는가?
- 참조하는 값들이 찾고자 하는 색과 같은 색인가?
먼저 배열부터 확인을 한다면 넘어서 참조를 하기 때문에, 컴파일 오류가 나오게 됩니다.
그렇기 때문에 먼저 배열의 좌표값이 넘지 않는지 조건을 넣은 다음에
참조하는 값이 찾는 값과 같으면 count 를 하나 올려주게 됩니다.
느낀점
카카오 1렙은 좀 어려웠는데, 여기쪽 기출문제들은 할만하네요... 한 2문제만 더 해보고 2렙으로 올라가봐야겠습니다.
다들 그러면 코딩 화이팅하세요!
'코딩테스트 리뷰(프로그래머스) > 코딩 테스트 Lv.1' 카테고리의 다른 글
TIL) 코딩테스트 (1) | 2024.12.11 |
---|---|
2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기 with Java (2) | 2024.05.15 |
[연습문제] 달리기 경주 (0) | 2024.05.14 |
[PCCP 기출문제] 1번 / 붕대 감지 with Java (0) | 2024.02.29 |
2024 KAKAO WINTER INTERSHIP > 가장 많이 받은 선물 with Java (4) | 2024.02.28 |