[LeetCode] 461. Hamming Distance

최대 1 분 소요

LeetCode - 461. Hamming Distance 알고리즘 문제 풀이

분류

문제 링크 : https://leetcode.com/problems/hamming-distance/

풀이

int 범위의 두 정수 x, y에 대한 해밍 거리를 구하는 문제이다.

두 수를 이진법으로 생각했을 때 각 자릿수가 다른 경우를 누적하면 해밍 거리를 구할 수 있다.

소스 코드

class Solution {
public:
    int hammingDistance(int x, int y) {
        int cnt = 0;
        for (int i = 0; i < 32; ++i) {
            cnt += (x & (1 << i)) != (y & (1 << i));
        }
        return cnt;
    }
};