
[LeetCode] Reordered Power of 2

주어진 정수 n을 각 자릿수를 재배열해서 2의 제곱수를 만들 수 있는지 찾는 문제
n을 문자 배열로 변환한 후 정렬한다.i의 범위는 0 ~ 30으로 설정한다.i 제곱을 구한고 powOf2 변수에 저장한다.powOf2를 문자 배열로 변환한 후 정렬한다.digits와 powOf2Digits가 동일하다면 주어진 n으로 2의 제곱을 만들 수 있다는 의미이므로 true를 반환한다.class Solution {
public boolean reorderedPowerOf2(int n) {
char[] digits = String.valueOf(n).toCharArray();
Arrays.sort(digits);
for (int i = 0; i < 31; i++) {
int powOf2 = (int) Math.pow(2, i);
char[] powOf2Digits = String.valueOf(powOf2).toCharArray();
Arrays.sort(powOf2Digits);
if (Arrays.equals(digits, powOf2Digits)) {
return true;
}
}
return false;
}
}