프로그래머스_예상대진표

hwang·2024년 11월 3일
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

profile
🍀

0개의 댓글