July LeetCoding Challenge - 5

이선태·2020년 7월 7일

Leetcode challenge

목록 보기
5/8

Day 5

Hamming Distance

문제

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integers x and y, calculate the Hamming distance.

Note:
0 ≤ x, y < 231.

Input: x = 1, y = 4
Output: 2
Explanation:
1 (0 0 0 1)
4 (0 1 0 0)
      ↑  ↑
The above arrows point to positions where the corresponding bits are different.

답(Java)

class Solution {
    public int hammingDistance(int x, int y) {
        int dist = 0;
        for (int value = x ^ y; value > 0; value = value >> 1) {
            if ((value & 1) == 1)
                dist++;
        }
        return dist;
    }
}

Hamming Distance를 계산하는 문제다. 두 수에서 서로 다른 값을 갖는 bit 개수를 구하면 된다. XOR 연산으로 서로 다른 값을 갖는 bit를 1로 표시하도록 만들고 for loop을 이용해 1의 개수를 계산했다.

profile
퀀트 트레이딩, 통계에 관심이 많아요

0개의 댓글