각 라운드가 지날때 마다 자신의 번호를 2로 나눈 뒤, 소수점을 올림처리하면 다음 차례의 번호를 알 수 있는 규칙을 찾는 것이 핵심이였다.
class Solution
{
public int solution(int n, int a, int b)
{
int answer = 0;
while(a!=b) {
a = (int)Math.ceil(((double)a/2));
b = (int)Math.ceil(((double)b/2));
answer++;
}
return answer;
}
}
규칙만 찾아서 그대로 적용하면 되기 때문에 간단한 문제였다. 위 규칙 대로 적용하면 n=8일 경우 1,2,3,4,5,6,7,8번이 각각 다음 차례에 1,1,2,2,3,3,4,4번이 되기 때문에 다음 차례의 번호가 같아지면 (a==b라면) 해당 대진에 만난 다는 의미가 되므로 분기 조건을 a!=b로 정해주었다.