👍🏻 2022년 2월 5일
<script>
function solution(board) {
let accBoard = [...board];
let answer = Math.max(...accBoard[0]);
for (let i=1; i<board.length; i++) {
for (let j=1; j<board[0].length; j++) {
if (board[i][j] !== 0) {
accBoard[i][j] = Math.min(accBoard[i][j-1], accBoard[i-1][j-1], accBoard[i-1][j]) + 1
answer = Math.max(answer, accBoard[i][j]);
}
}
}
return answer**2;
}
</script>
DP문제인 것 같길래 혼자 요리조리 고민해봤는데 계속 테케 일부만 맞아서 결국 <질문하기>보고 아이디어를 얻었다. 아직 혼자 생각해내기에는 좀 어렵다ㅠㅠ 당연한 말이겠지만 다양한 문제들을 풀어봐야겠다고 다시 한 번 느꼈다.