Lv.2 가장 큰 정사각형

🤖문제

👍🏻 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문제인 것 같길래 혼자 요리조리 고민해봤는데 계속 테케 일부만 맞아서 결국 <질문하기>보고 아이디어를 얻었다. 아직 혼자 생각해내기에는 좀 어렵다ㅠㅠ 당연한 말이겠지만 다양한 문제들을 풀어봐야겠다고 다시 한 번 느꼈다.

좋은 웹페이지 즐겨찾기