https://programmers.co.kr/learn/courses/30/lessons/12905#
코딩테스트 연습 - 가장 큰 정사각형 찾기
[[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9
programmers.co.kr
나의풀이
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<vector<int>> board)
{
int answer = 0;
bool one = false;
if (board.size() == 1 && board[0].size() == 1) {
return board[0][0];
}
for (int i = 1; i < board.size(); i++) {
for (int k = 1; k < board[0].size(); k++) {
vector<int> tmp = { board[i - 1][k] ,board[i][k - 1] ,board[i - 1][k - 1] };
if (*max_element(tmp.begin(), tmp.end())) one = true;
int minest = (*min_element(tmp.begin(), tmp.end())) + 1;
board[i][k] = board[i][k] == 0 ? 0 : minest;
if (answer < board[i][k]) answer = board[i][k];
}
}
if (answer == 0 && one) return 1;
return answer * answer;
}
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 프로그래머스 "피로도" (0) | 2022.04.13 |
---|---|
(c++) 프로그래머스 "[1차] 프렌즈4블록" (미완성) (0) | 2022.04.13 |
(c++) 프로그래머스 "[1차] 캐시" (0) | 2022.04.12 |
(c++) 프로그래머스 "스킬트리" (0) | 2022.04.12 |
(c++) 프로그래머스 "삼각 달팽이" (0) | 2022.04.12 |