https://school.programmers.co.kr/learn/courses/30/lessons/12985
단순 계산
A번 참가자와 B번 참가자는 항상 승리한다. 라는 조건을 유심히 생각해보자.
대결은 항상 토너먼트로 이루어 지므로, 절반씩 참가자가 줄어든다.
이진 트리의 형태로 생각해보자.
각 라운드의 승리자가 상위로 올라간다고 정리하면,
현재 참가자 번호를 절반으로 나누고 +1을 해준다면 다음 라운드에서 만나는지 확인할 수 있다.
class Solution
{
public int solution(int n, int a, int b)
{
int answer = 0;
while(a != b){
a = (a-1) / 2 + 1;
b = (b-1) / 2 + 1;
answer++;
}
return answer;
}
}