https://school.programmers.co.kr/learn/courses/30/lessons/12985
a, b가 속해있는 조를 구해가면서 같아질 경우까지 반복한다.
나는 1,2는 1조 라는 가정하에 홀수일경우 /2 +1 하고 짝수는 /2 하였다.
#include <iostream>
using namespace std;
int solution(int n, int a, int b)
{
int answer = 0;
while(a != b)
{
if(a%2)
{
a/=2;
a++;
}
else
a/=2;
if(b%2)
{
b/=2;
b++;
}
else
b/=2;
answer++;
}
return answer;
}
#include <iostream>
using namespace std;
int solution(int n, int a, int b)
{
a--;
b--;
int answer=0;
while(a!=b){
a=a/2;
b=b/2;
answer++;
}
return answer;
}
일단 a, b를 --해서 0부터 시작하도록 만들고 조도 0조부터 시작하게 해서
홀수나 짝수 구분 없이 그냥 /2 해가면서 answer++했다.