[코.기.트] 정사각형으로 만들기

리프깅·2023년 7월 22일

프로그래머스

목록 보기
25/29

✔ 정사각형으로 만들기 문제 보기


💻 코드

function solution(arr) {
    let width = arr[0].length; let height = arr.length
    
    if(width < height) { 
        for(let i=0; i<height-width; i++){
            for(let j=0; j<arr.length; j++) { arr[j].push(0) }
        }
    }
    else if(width == height) { return arr }
    else {
        let tmp = new Array(width).fill(0)
        for(let i=0; i<width-height; i++) { arr.push(tmp) }
    }
    return arr
}

👀 설명

2차원 배열을 한 줄씩 띄워놓았을 때, width는 가로 길이, height는 세로 길이이다.
만약 세로가 더 길다면 for문을 이용하여 arr의 i번 인덱스에 0을 추가한다. 이때 추가되는 0의 개수는 세로에서 가로를 뺀 만큼이다.
길이가 같다면 그대로 리턴한다. 가로가 더 크다면 배열 tmp를 생성한다. tmp는 가로의 길이만큼 0이 저장되어있다. for문을 이용하여 가로에서 세로를 뺀 값 만큼 tmp를 추가한다.

profile
대학교 마지막 학기 공부기록

0개의 댓글