728x90
SMALL

using System;

class Solution
{
    public int solution(int n, int a, int b)
    {
        int answer = 0;
        int index = 0;
        /// a를 2로 나눈 몫+나머지, b를 2로 나눈 몫+나머지
        
        while(a != b)
        {
            index++;
            a = a/2+a%2;
            b = b/2+b%2;
        }
        
        return index;
    }
}

 

/// 라운드에서 위로 올라갈 때마다 번호가 바뀌는 방법을 응용했다.

 

 

자바

 

 

class Solution
{
    public int solution(int n, int a, int b)
    {
        int round = 0;
        while(a != b)
        {
            a = a/2 + a%2;
            b = b/2 + b%2;
            round++;
        }
        return round;
    }
}

 

 

class Solution
{
    public int solution(int n, int a, int b)
    {
        return Integer.toBinaryString((a-1)^(b-1)).length();
    }
}
728x90

설정

트랙백

댓글