마일모아에서 이런걸 여쭤볼거라고는 생각 못했는데 여기 말고는 물어볼 데가 없어서...
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의 갯수를 곱하는게 무슨 의미가 있는지?
아시는 분 설명 좀 부탁드립니다.