처음에는 Integer.toBinaryString 하다가 그냥
1 자체를 반환하면 되니까 bitCount를 썼다. (꿀함수!)
효율성 테스트 고마워요!
참조 : https://blog.yevgnenll.me/posts/java-integer-bit-count-function
class Solution {
public int solution(int n) {
int answer = 0;
answer = addN(n,n+1);
return answer;
}
public int addN(int n, int addN){
//String binaryN = Integer.toBinaryString(n);
//String tempN = Integer.toBinaryString(addN);
if(compareN(n, addN)){
return addN;
}else{
addN++;
return addN(n, addN);
}
}
public boolean compareN(int n, int tempN){
//효율성 때문에 Integer.bitCount로 변경
//if(n.replace("0","").equals(tempN.replace("0",""))){
if(Integer.bitCount(n)==Integer.bitCount(tempN)){
return true;
}else{
return false;
}
}
}
댓글
댓글 쓰기