[LeetCode] 2595. Number of Even and Odd Bits

Chobby·2025년 11월 20일

LeetCode

목록 보기
768/800

😎풀이

  1. n을 2진수로 변환
    1-1. n을 2로 나누며, 그 나머지를 계산
    1-2. 나머지가 짝수라면, 생략
    1-3. 나머지가 홀수라면, 해당 인덱스가 짝수인 경우 even, 홀수인 경우 odd에 카운트
  2. n을 2진수로 변환했을 때 1의 비트가 있는 인덱스의 홀, 짝을 횟수 반환
function evenOddBit(n: number): number[] {
    let even = 0
    let odd = 0
    let idx = 0
    while(n) {
        if(n % 2 === 1) {
            if((idx & 1) === 1) odd++
            else even++
        }
        idx++
        n = Math.floor(n / 2)
    }
    return [even, odd]
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글