csct3434
[level 2] 가장 큰 정사각형 찾기 - 12905 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
class Solution {
private int rows;
private int cols;
public int solution(int[][] board) {
int answer = 0;
rows = board.length;
cols = board[0].length;
int[][] dp = new int[rows + 1][cols + 1];
init(board, rows, cols, dp);
for (int x = 1; x <= rows; x++) {
for (int y = 1; y <= cols; y++) {
if (dp[x][y] != 1) {
continue;
}
dp[x][y] = 1 + Math.min(
Math.min(dp[x - 1][y - 1], dp[x - 1][y]), dp[x][y - 1]);
answer = Math.max(answer, dp[x][y] * dp[x][y]);
}
}
return answer;
}
private void init(int[][] board, int rows, int cols, int[][] dp) {
for (int x = 0; x < rows; x++) {
for (int y = 0; y < cols; y++) {
dp[x + 1][y + 1] = board[x][y];
}
}
}
}
'프로그래머스' 카테고리의 다른 글
[level 2] 다음 큰 숫자 - 12911 (0) | 2024.02.28 |
---|---|
[level 2] 올바른 괄호 - 12909 (0) | 2024.02.28 |
[level 2] 3 x n 타일링 - 12902 (0) | 2024.02.28 |
[level 2] 2 x n 타일링 - 12900 (0) | 2024.02.28 |
[level 2] 124 나라의 숫자 - 12899 (0) | 2024.02.28 |