이번 문제는 그림으로 한번 보자
1, 2는 다음 대진 때 1이 되고, 3, 4 는 2를 향한다. 규칙이 보이는가?
다음 회차로 갈때 짝수 항들은 나누기 2된 값들이 다음 대진 순서가 되고, 홀수 항들은 +1을 한후 나누기 2를 진행하여 결정한다. 이러한 규칙을 설계를 진행했다.
function solution(n,a,b)
{
var answer = 0;
while(true){
//짝수면
if(a%2===0) a = a/2;
else{ a= (a+1)/2}
if(b%2===0) b = b/2;
else{b=(b+1)/2}
answer++;
if(a===b) break;
}
return answer;
}
결과는 다행히 설계한 그대로 잘 이루어졌다. 이번 문제는 복잡한 문제는 아니였고, 위와 같은 규칙을 얼마나 빨리 찾냐가 관건이였던 문제였던 것 같다.