프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제풀이
1. ( 0 , 0 ) 좌표부터 시작해서 재귀함수 사용
2. 가장 큰 정사각형부터 시작해서 압축이 되는지 확인하고 안되면 4분할 시작




나의풀이 ( 코드 )
class Solution {
static int[] answer = new int[2];
public int[] solution(int[][] arr) {
quad(arr, 0, 0, arr.length);
return answer;
}
static boolean check(int[][] arr, int x, int y, int size) {
for (int i = x; i < x + size; i++) {
for (int j = y; j < y + size; j++) {
if (arr[i][j] != arr[x][y]) {
return false;
}
}
}
return true;
}
static void quad(int[][] arr, int x, int y, int size) {
if (check(arr, x, y, size)) {
answer[arr[x][y]]++;
return ;
}
quad(arr, x, y, size / 2);
quad(arr, x, y + size / 2, size / 2);
quad(arr, x + size / 2, y, size / 2);
quad(arr, x + size / 2, y + size / 2, size / 2);
}
}'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스/JAVA 자바] 다리를 지나는 트럭 (1) | 2023.12.06 |
|---|---|
| [프로그래머스/JAVA 자바] 가장 큰 수 (0) | 2023.12.05 |
| [프로그래머스/JAVA 자바] 2개 이하로 다른 비트 (3) | 2023.12.01 |
| [프로그래머스/JAVA 자바] 택배상자 (0) | 2023.11.30 |
| [프로그래머스/JAVA 자바] [PCCP 기출문제] 1번 (0) | 2023.11.25 |