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

박영준·2023년 6월 9일
0

코딩테스트

목록 보기
241/300
class Solution {
    public int[] solution(int[] arr) {
        int[] answer = {};
        return answer;
    }
}

해결법

방법 1

class Solution {

    public int[] solution(int[] arr) {

        int len = arr.length;
        int tmp = 1;

        while (tmp < len) {
            tmp *= 2;
        }

        int[] answer = new int[tmp];

        for (int i = 0; i < arr.length; i++) {
            answer[i] = arr[i];
        }

        return answer;
    }
}
  • 배열 생성 시, 기본값은 0 이다.
    • 따라서, 따로 0을 추가해주지 않고, 2의 거듭제곱만큼만 배열 길이를 생성해주면 된다.

방법 2

import java.util.Arrays;

class Solution {
    public int[] solution(int[] arr) {
        return Arrays.copyOf(arr, (int) Math.pow(2, Math.ceil(Math.log(arr.length) / Math.log(2))));
    }
}

참고: Java에서 모든 배열 요소를 0으로 초기화


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

profile
개발자로 거듭나기!

0개의 댓글