Leetcode 문제 질문

doomoo 2019.06.21 00:34:47

마일모아에서 이런걸 여쭤볼거라고는 생각 못했는데 여기 말고는 물어볼 데가 없어서...

 

Leetcode 477번 Total Hamming Distance 라는 문제가 있습니다.

 

풀이를 찾아보니...

 

    int totalHammingDistance(vector<int>& nums) {

        int res = 0, n = nums.size();

        for (int i = 0; i < 32; ++i) {

            int count = 0;

            int mask = 1 << i;

            for (int num : nums) {

                if (num & mask) ++count;

            }

            res += count * (n - count);

        }

        return res;

    }

 

이렇게 나와있는데요, 노란줄이 도대체 이해가 안갑니다. set bit의 갯수와 unset bit의 갯수를 곱하는게 무슨 의미가 있는지?

 

아시는 분 설명 좀 부탁드립니다.