배열의 길이를 2의 거듭제곱으로 만들기

민태영·2023년 6월 16일
0

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

나의 풀이
1) while문으로 cnt에 2를 거듭제곱하여 arrLeng보다 커질때 까지 돌린다.

2) 2의 거듭제곱인 cnt에서 arrLeng를 뺀 수만큼 for문을 돌려 arr1에 0을 push해준다.

function solution(arr) {
    var arr1 = arr;
    const arrLeng = arr1.length;
    let cnt = 1; 
    while(cnt < arrLeng) {
        cnt *= 2
    }
    for(let idx = 0; idx < cnt - arrLeng; idx++) {
        arr1.push(0)
    }
    return arr1
}
profile
꿈을 꾸는 개발자

0개의 댓글