프로그래머스 - 행렬 테두리

이서현·2021년 5월 7일
0

Algorithm

목록 보기
19/76

05.07에 푼 문제입니다🌷
행렬 테두리

function solution(rows, columns, queries) {
    var answer = [];
    var array=[]
    var arr2=[]
    var k=1
    for(let i=1;i<=rows;i++){
        for(let j=1;j<=columns;j++){
            arr2.push((i-1)*columns+j)
            
        }
        array.push(arr2)
        arr2=[]
    }
    for(let query of queries){
        let [frow,fcol,lrow,lcol]=query
        let renxt=array[frow-1][fcol-1]
        let nxt
        let least=renxt
        for(let i=fcol;i<lcol;i++){
            nxt=array[frow-1][i]
            array[frow-1][i]=renxt
            renxt=nxt
            if(renxt<least){
                least=renxt
            }
        }
        
        for(let j=frow;j<lrow;j++){
            nxt=array[j][lcol-1]
            array[j][lcol-1]=renxt
            renxt=nxt
            if(renxt<least){
                least=renxt
            }
        }
        
        for(let col=lcol-1;col>=fcol;col--){
            nxt=array[lrow-1][col-1]
            array[lrow-1][col-1]=renxt
            renxt=nxt
            if(renxt<least){
                least=renxt
            }
        }
        for(let row=lrow-1;row>=frow;row--){
            nxt=array[row-1][fcol-1]
            array[row-1][fcol-1]=renxt
            renxt=nxt
            if(renxt<least){
                least=renxt
            }
        }

        answer.push(least)
    }
    return answer;
}
profile
안녕하세요. 이서현입니다( ღ'ᴗ'ღ )

0개의 댓글