정수 배열 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] |
[58, 172, 746, 89] | [58, 172, 746, 89] |
function solution(arr) {
const arrLength = arr.length;
let exponent = 0;
while(Math.pow(2,exponent) < arrLength) exponent ++;
let fillNum = Math.pow(2,exponent)-arrLength;
const zArr = Array(fillNum).fill(0);
return arr.concat(zArr);
}
function solution(arr) {
const length = arr.length;
const totalLength = 2 ** Math.ceil(Math.log2(length));
return [...arr, ...new Array(totalLength - length).fill(0)];
}