게임 참가자 수 N, 참가자 번호 A, 경쟁자 번호 B가 함수 solution의 매개변수로 주어질 때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 몇 번째 라운드에서 만나는지 return 하는 solution 함수를 완성해 주세요. 단, A번 참가자와 B번 참가자는 서로 붙게 되기 전까지 항상 이긴다고 가정합니다.
1-2번, 3-4번 참가자가 붙게 된다. 2로 나누어 떨어지는 값의 n-1번째 값과 만나게 되는 것이므로 Math.ceil()
을 이용하여 올림 처리를 해주었다. a와 b가 붙게 되는 순간, 즉 같은 번호로 한 쌍이 되는 순간까지 라운드를 진행하며 cnt를 증가시키다가 둘이 같은 번호가 될 때 반복문 while을 종료하고 cnt를 출력한다.
function solution(n,a,b)
{
let cnt = 1;
while(Math.ceil(a/2)!==Math.ceil(b/2)){
a = Math.ceil(a/2);
b = Math.ceil(b/2);
cnt++;
}
return cnt;
}