반응형
예상 대진표 ( Level 2 )
Programmers 2017 팁스타운 ( JavaScript )
나의 풀이
function solution(n,a,b) {
let count = 0, temp = a;
if ( b < a ) {
a = b
b = temp
}
while ( true ) {
if ( a % 2 && Math.abs(b-a) === 1 ) return count+1
a = a % 2 ? (a + 1)/2 : a/2
b = b % 2 ? (b + 1)/2 : b/2
count += 1
}
}
a
,b
대소 비교 후 작은것을a
에 넣어준다.- 반복문을 통해 a와 b를 홀수, 짝수를 판별해 값을 줄여주고 이 때 반복 횟수를
count
를 통해 저장한다 - a,b가 1이 차이나면서 a가 대진표의 왼쪽에 있을 경우 마지막 대진 1번을 더한
count+1
을 리턴