😎풀이

  1. xy를 XOR 한다.
  2. countOne: XOR의 결괏값 중 1의 비트 수
  3. xor이 0이 아닌동안 반복
    3-1. 현재 xor의 첫 비트가 1이라면 1추가 (1의 비트 수 ++)
    3-2. 현재 xor을 shift하여 다음 비트 검사
  4. 확인된 1의 비트 수 반환환
function hammingDistance(x: number, y: number): number {
    let xor = x ^ y
    let countOne = 0
    while(xor) {
        countOne += xor & 1
        xor = xor >> 1
    }
    return countOne
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글