😎풀이

  1. 해당 문제는 다음과 같은 규칙이 있음
    1-1. N개의 전구를 N개의 라운드가 지난 후 몇 개가 켜져있는지 확인해야함
    1-2. 1단계에선 모든 전구를 켬
    1-3. 2단계에선 2의 배수에 해당하는 전구를 끔
    1-4. N단계에선 N의 배수에 해당하는 전구를 토글함(ON -> OFF, OFF -> ON)
  2. 문제를 보았을 때 홀수번 호출되는 전구가 켜짐
  3. 홀수번 호출된다는 것은 약수의 개수가 홀수라는 것
  4. 완전제곱수(1, 4, 9, ...)는 약수의 개수가 홀수임, 왜냐하면 같은 수의 곱이 있기 때문
  5. 즉 n의 제곱근이 켜져있는 전등의 수임
function bulbSwitch(n: number): number {
    return Math.floor(Math.sqrt(n))
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글