Programmers/Level 2
[프로그래머스 2] 가장 큰 정사각형 찾기 (C/C++) (★★★)
워니-
2020. 1. 4. 16:21
#include <iostream> #include <vector> #include <algorithm> using namespace std; int solution(vector<vector<int>> board) { if(board.size() == 1 || board[0].size() == 1) { for(int i = 0; i < board.size(); i++) { for(int j = 0; j < board[0].size(); j++) { if(board[i][j] == 1) { return 1; } } } return 0; } else { int MaxLen = 0; for(int i = 1; i < board.size(); i++) { for(int j = 1; j < board[i].size(); j++) { if(board[i][j]) { board[i][j] = min({board[i-1][j-1], board[i-1][j], board[i][j-1]}) + 1; } if(MaxLen < board[i][j]) { MaxLen = board[i][j]; } } } return MaxLen * MaxLen; } } | cs |