[프로그래머스] 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