import java.util.Arrays; public class Solution { public static int[] solution(int[] arr) { while ((arr.length & (arr.length - 1)) != 0) { arr = Arrays.copyOf(arr, arr.length + 1); arr[arr.length - 1] = 0; } return arr; } } 비트 연산자로 2의 거듭제곱 확인하기 (arr.length & (arr.length - 1)) != 0 2의 거듭제곱은 이진수로 나타낼 때 한 자리만 1이고 나머지는 0으로 이루어진 수를 의미.(2의 4승은 10000) 이진수에서 어떤 수와 그 수에서 1을 뺀 값의 AND 연산 결과가 0이라면 해당 수는 2의 거..