시도한 풀이
function solution(n,a,b) {
let count = 0;
while (a !== b) {
count++;
a = Math.ceil(a / 2);
b = Math.ceil(b / 2);
}
return count;
}
[어려웠던 점]
Math.ceil()이 올림함수라는 걸 기억하자.
(정확히는 소수점이 존재할 때 항상 올림)
[새롭게 알게된 점]
==, != / ===, !==의 차이는 형 변환(type coercion) 여부로
전자는 값만 비교하고 타입은 JS가 자동으로 형 변환해서 비교
후자는 값과 타입까지 일치하는지 비교
실무에서는 예상치 못한 형 변환으로 인해 버그가 생길 수 있어서 후자를 추천한다고 한다.