알고리즘풀이

LeetCode: Hamming Distance, 해밍 거리

batterflyyin 2021. 3. 21. 08:39

문제설명

  • 두 정수가 주어졌을 때, 두 수의 해밍거리를 구한다.
  • 거리(distance)라고 해서 두 수의 다른 비트 거리라고 생각하면 안되고, 다른 비트의 개수라고 이해해야 한다.

문제풀이

func hammingDistance(_ x: Int, _ y: Int) -> Int {
    var xor = x ^ y
    var count = 0
    while xor != 0 {
        if xor & 1 == 1 {
            count += 1
        }
        xor = xor >> 1
    }
    return count
}

print(hammingDistance(1, 4)) // 2
print(hammingDistance(4, 8)) // 2