카테고리 없음

[프로그래머스] 배열의 길이를 2의 거듭제곱으로 만들기 (Java, Python)

garamdev 2025. 6. 16. 21:21

문제

https://school.programmers.co.kr/learn/courses/30/lessons/181857

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

코드(Java)

import java.util.Arrays;

class Solution {
    public int[] solution(int[] arr) {
        int n = arr.length;
        int nextPower = Integer.highestOneBit(n) << (Integer.bitCount(n) > 1 ? 1: 0);
        return Arrays.copyOf(arr, nextPower);
    }
}

 

코드(Python)

def solution(arr):
    n = len(arr)
    if (n & (n - 1)) == 0:
        next_power = n
    else:
        next_power = 1 << n.bit_length()
    return arr + [0] * (next_power - n)
728x90