자바스크립트

[JavaScript] 프로그래머스 배열의 길이를 2의 거듭제곱으로 만들기

코딩하는둥이 2024. 10. 15. 15:51

문제 설명

정수 배열 arr이 매개변수로 주어집니다. arr의 길이가 2의 정수 거듭제곱이 되도록 arr 뒤에 정수 0을 추가하려고 합니다. arr에 최소한의 개수로 0을 추가한 배열을 return 하는 solution 함수를 작성해 주세요.

 

입출력 예

arr result
[1,2,3,4,5,6] [1,2,3,4,5,6,0,0]
const solution = (arr) => {
    let num = 1;
    while (arr.length > num){
        num *= 2;
    } 
    while(arr.length !== num){
        arr.push(0)
    }
    return arr;
}

 

설명

while 문을 사용하여 arr의 길이가 num보다 클때까지 num에 제곱을 해주고 arr의 길이가 num보다 작을 때까지 arr의 배열 끝에 0을 추가 후 값을 반환합니다.