250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- expo
- 프로그래머스
- ReactNative
- 리액트 네이티브
- javascript
- 2025 프로그래머스 코드챌린지 2차 예선
- 프로젝트
- PCCE
- java
- 코딩
- Spring
- 오블완
- 자바스크립트
- 스프링
- 태그
- 자바
- 코테
- React
- controller
- firebase
- 파이어베이스
- 티스토리챌린지
- React Native
- 리액트네이티브
- 백엔드
- map
- node.js
- 코딩테스트
- project
- 리액트
Archives
- Today
- Total
양갱의 개발 블로그
[프로그래머스] [PCCE 기출문제] 9번 / 이웃한 칸 (Java) 본문
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/250125
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
확인 내용
1. 지정되어 있는 h, w의 색과 상하좌우 색이 같은지 확인
코드 로직 (프로그래머스 내 문제 설명)
1. 정수를 저장할 변수 n을 만들고 board의 길이를 저장합니다.
2. 같은 색으로 색칠된 칸의 개수를 저장할 변수 count를 만들고 0을 저장합니다.
3. h와 w의 변화량을 저장할 정수 리스트 dh, dw를 만들고 각각 [0, 1, -1, 0], [1, 0, 0, -1]을 저장합니다.
4. 반복문을 이용해 i 값을 0부터 3까지 1 씩 증가시키며 아래 작업을 반복합니다.
4-1. 체크할 칸의 h, w 좌표를 나타내는 변수 h_check, w_check를 만들고 각각 h + dh[i], w + dw[i]를 저장합니다.
4-2. h_check가 0 이상 n 미만이고 w_check가 0 이상 n 미만이라면 다음을 수행합니다.
4-2-a. board[h][w]와 board[h_check][w_check]의 값이 동일하다면 count의 값을 1 증가시킵니다.
5. count의 값을 return합니다.
최종 코드
class Solution {
public int solution(String[][] board, int h, int w) {
int n = board.length;
int count = 0;
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])){
count++;
}
}
}
return count;
}
}
728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] [2025 프로그래머스 코드챌린지 2차 예선] 유연근무제(Java) (0) | 2025.03.27 |
---|---|
[프로그래머스] [2025 프로그래머스 코드챌린지 2차 예선] 택배 상자 꺼내기(Java) (0) | 2025.03.25 |
[프로그래머스] [PCCE 기출문제] 10번 / 공원(Java), (feat.90점) (0) | 2024.11.14 |
[프로그래머스] [PCCE 기출문제] 9번 / 지폐 접기(Java) (0) | 2024.11.12 |
[프로그래머스] [PCCP 기출문제] 2번 / 퍼즐게임챌린지(JavaScript) (1) | 2024.11.10 |