문제 설명

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

제한사항

  • 1 ≤ arr의 길이 ≤ 1,000
  • 1 ≤ arr의 원소 ≤ 1,000

입출력 예

arrresult
[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) {
    var answer = [...arr];
    let count = 0;
    while(true){
        // length가 같을 때
        if(answer.length === 2 ** count){
            break;
        }
        // length 가 2의 제곱보다 클 때
        if(answer.length > 2 ** count){
            count++
        } else {
            // length 가 2의 제곱보다 작을 때
            answer.push(0);
        }
    }
    return answer;
}
profile
개인 이력, 포폴 관리 및 기술 블로그 사이트 👉 https://aimzero-web.vercel.app/

0개의 댓글