https://school.programmers.co.kr/learn/courses/30/lessons/250125
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 내멋대로 풀기
굳이..4방향만 확인하는데 문제에 나온 것처럼 배열만들고 해야하나 싶어서 아래와 같이 확인
class Solution {
public int solution(String[][] board, int h, int w) {
int answer = 0;
String color = board[h][w];
if (h - 1 > -1 && color.equals(board[h - 1][w])) {
answer += 1;
}
if (h + 1 < board.length && color.equals(board[h + 1][w])) {
answer += 1;
}
if (w - 1 > -1 && color.equals(board[h][w - 1])) {
answer += 1;
}
if (w + 1 < board[0].length && color.equals(board[h][w + 1])) {
answer += 1;
}
return answer;
}
}
2. 문제에 나온대로 풀기
class Solution {
public int solution(String[][] board, int h, int w) {
int answer = 0;
int n = board.length;
int[] dh = {0, 1, -1, 0};
int[] dw = {1, 0, 0, -1};
for(int i = 0; i < 4; i++) {
int h_check = h + dh[i];
int w_check = w + dw[i];
if (h_check >= 0 && h_check < n && w_check >= 0 && w_check < n) {
if (board[h][w].equals(board[h_check][w_check])) {
answer += 1;
}
}
}
return answer;
}
}
'코딩테스트' 카테고리의 다른 글
[programmers] 달리기 경주 (0) | 2024.04.13 |
---|---|
[programmers] 게임 맵 최단거리 (0) | 2024.03.31 |
[programmers][PCCP] 2번 / 석유 시추 (0) | 2024.03.21 |
[programmers][PCCE 기출문제] 10번 / 데이터 분석 (0) | 2024.03.13 |
[programmers] 이모티콘 할인행사 (0) | 2024.03.13 |