[프로그래머스] 230731 코딩테스트 연습

    SMALL

    1. 정사각형으로 만들기

    function solution(arr) {
        var answer = [[]];
        let rowNum = arr.length;
        let colNum = arr[0].length;
        
        if (rowNum > colNum) {
            arr.forEach( v => {
                for (let i=0; i<rowNum - colNum; i++) {
                    v.push(0);
                }
            })
        } else if (rowNum < colNum) {
            for (let j = 0; j<colNum-rowNum; j++) {
                arr.push(new Array(colNum).fill(0));
            }
        } 
        
        answer = arr;
        
        return answer;
    }

     

    2. 이차원 배열 대각선 순회하기

    function solution(board, k) {
        var answer = 0;
        
        for(let i=0;i<board.length; i++) {
            for (let j = 0; j<board[i].length; j++) {
                if ( i+j <= k) answer += board[i][j];
            }
        }
        
        return answer;
    }

     

    3. 그림 확대

    function solution(picture, k) {
        var answer = [];
        let arr = [];
        let newArr = []
        let resArr = [];
        
        for(let i=0; i<picture.length; i++) {
            for (let j=0; j<k; j++) {
                arr[k*i+j] = picture[i];
            }
        }    
        
        arr.forEach ( v => {
            newArr = v.split("")
            newArr.forEach ( data => {
                for (let m = 0; m<k; m++) {
                    resArr.push(data);
                }
            })
            answer.push(resArr.join(''));
            newArr = [];
            resArr = [];
        })
        
        
        return answer;
    }

     

    728x90

    댓글