class Solution
{
public int solution(int n, int a, int b)
{
int answer = 0;
for(int i = 1; i<n ; i=i*2) {
answer ++;
if(a/2+a%2 == b/2+b%2) {
break;
}
a = a/2+a%2;
b = b/2+b%2;
}
return answer;
}
}
단순하게 생각해서 풀었다고 자부했는뎁 ..
다른풀이 보고 기죽어버렸다 ^__^
또 하나 배워갑니다 ~!
다른 분들은 while문을 많이 쓰셨더라구 ..
for문만 쓰는 나는 생각도 못했는뎁 !
인상적인 다른 풀이는
return Integer.toBinaryString((a-1)^(b-1)).length();
... a-1, b-1의 비트 XOR연산으로 2진수 문자열로 변환하고 그 문자열의 길이를 return