이 문제는 숫자 속에 있는 규칙을 찾아내면 금방 풀 수 있다.
하지만 찾지 못푼 문제..
[지피티 코드]
#include <iostream>
using namespace std;
int solution(int n, int a, int b)
{
int answer = 0;
while (a != b) {
a = (a + 1) / 2;
b = (b + 1) / 2;
answer++;
}
return answer;
}
[내가 쓴 코드]
#include <iostream>
#include <cmath>
using namespace std;
int solution(int n, int a, int b)
{
int answer = 0;
while(a!=b) {
int j=1;
if (a==1 && b==2) {
answer++;
break;
}
for(int i=1; i<=n; i+=2) {
if (i <= a && a <= i+1) {
a=j;
}
if (i <= b && b <= i+1) {
b=j;
}
j++;
}
n /= 2;
answer++;
}
return answer;
}