July LeetCoding Challenge - 5

suntlee·2020년 7월 7일
0

Leetcode challenge

목록 보기
5/9

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개의 댓글