[JS] 프로그래머스 코딩테스트 - 예상 대진표

권이온·2025년 9월 14일

📚 문제

예상 대진표

📣 풀이

  • 시도한 풀이

    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가 자동으로 형 변환해서 비교
후자는 값과 타입까지 일치하는지 비교

실무에서는 예상치 못한 형 변환으로 인해 버그가 생길 수 있어서 후자를 추천한다고 한다.

참고

코딩 테스트 합격자 되기 자바스크립트 - 이선협, 박경록 저

profile
인생은 아름다워

0개의 댓글