[프로그래머스] Lv2. 가장 큰 정사각형 찾기 - Javascript

블랙카우무한루프·2023년 1월 31일
0

문제링크

문제풀이


function solution(board){
    let max=0;
    let x=board[0].length;
    let y=board.length;
    if(x===1) return (Math.max(...board))**2
    let dp=Array.from({length:y},()=>Array(x).fill(0));
    for(let i=0;i<y;i++){
        dp[i][0]=board[i][0];
    }
    for(let j=0;j<x;j++){
        dp[0][j]=board[0][j];
    }
    for(let i=1;i<y;i++){
        for(let j=1;j<x;j++){
            if(board[i][j]) dp[i][j]=Math.min(dp[i-1][j],dp[i][j-1],dp[i-1][j-1])+1;
            max=Math.max(dp[i][j],max);
        }
    }
    return max**2;
}
profile
코딩 잘하고 싶음..

0개의 댓글

관련 채용 정보