일단 둘이 만날때까지 경기를 진행시켜야하는데
12번은 다음 1번
34번은 다음 2번
56번은 다음 3번 ...
홀수일때는 n+1 /2번
짝수일때는 n+1번 이 다음번호이다.
그리고 둘이 만나는 경우는 둘의 차가 1이고,
차가 1이여도 23 과 같은 경우는 만나지 않으니
2로 나눠서 버림처리 했을때 앞자리가 같냐 를 기준으로 체크했다.
function solution(n,a,b){
const nextNumber = (num)=>{
// 2로 나누어 떨어지면
if(num%2===0){
return num/2
}else{
return (num+1)/2
}
}
let aNum = a
let bNum = b
let count = 0
for (let i = 0;i<20;i++){
aNum = nextNumber(aNum)
bNum = nextNumber(bNum)
count +=1
// 1 => 0.5
// 2 => 1
// => 내림 처리했을때 같으면 안붙음
// 두 수의 차가 1 이상이거나, 1인데 2로 나누고 내림처리했을때 앞자리가같으면 참
if(1> Math.abs(aNum-bNum) && Math.floor(aNum/2)===Math.floor(bNum/2) ){
return count
}
}
}