https://school.programmers.co.kr/learn/courses/30/lessons/250125
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
import java.util.*;
class Solution {
static int[] dh= {-1, 1, 0, 0};
static int[] dw= {0, 0, -1, 1};
public int solution(String[][] board, int h, int w) {
int answer = 0;
int r = board.length;
int c = board[0].length;
for(int i=0;i<4;i++) {
int next_h= h + dh[i];
int next_w= w + dw[i];
if(next_h < 0 || next_h >= r || next_w < 0 || next_w >= c)
continue;
if(board[h][w].equals(board[next_h][next_w])) {
answer ++;
}
}
return answer;
}
}
한 칸에 대해서 위, 아래, 왼쪽, 오른쪽만 확인하면 되는 문제입니다
회고
그래프 탐색 문제인 줄 알고 BFS 구현했다가 실패가 떴었습니다. 문제를 잘 읽어야 한다는 반성을 하게 되는 문제..!!
사실 입력 출력만 자세히 보고 문제는 잘 안 읽는데 이 문제를 통해서 문제의 핵심은 읽을 줄 알아야 한다는 반성을 하게 되었습니다.
'코딩테스트' 카테고리의 다른 글
[백준] 1052번 '물병' - Java (0) | 2024.08.27 |
---|---|
[백준] 1111번 'IQ TEST' - Java (0) | 2024.08.26 |
[백준] 1325번 '효율적인 해킹' - Java (0) | 2024.08.22 |
[백준] 1105번 '팔' - Java (0) | 2024.08.21 |
[백준] 1012번 '유기농 배추' - Java (0) | 2024.08.19 |