리뷰
1이 나타나는 곳에서 1이 끝날때 까지의 길이를 세서 정사각형인지 확인하는 방법을 썼다.
근데 테스트 케이스 몇개가 안되서 다른 방법이 필요했다.
맞았습니다 코드
#include <bits/stdc++.h>
using namespace std;
int solution(vector<vector<int>> board)
{
int answer = board[0][0];
int h = board.size();
int w = board[0].size();
for(int i = 1; i < h; i++){
for(int j = 1; j < w; j++){
if(board[i][j] == 1){
// 오른쪽, 아래, 대각선의 최소값을 구하고, 1을 더한다.
board[i][j] = 1 + min({board[i-1][j-1], board[i][j-1], board[i-1][j]});
answer = max(board[i][j], answer);
}
}
}
return answer * answer;
}
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 숫자의 표현 c++ (0) | 2022.05.22 |
---|---|
[프로그래머스] JadenCase 문자열 만들기 c++ (0) | 2022.05.22 |
[프로그래머스] n^2배열자르기 (0) | 2022.05.19 |
[프로그래머스] 입국심사 c++ (0) | 2022.05.10 |
[프로그래머스] 이중우선순위큐 c++ (priority_queue, vector 2가지) (0) | 2022.05.05 |