Skip to content

Commit f886f0b

Browse files
committed
add: numberOf1Bits solution
1 parent 8d30b5f commit f886f0b

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

number-of-1-bits/Cyjin-jani.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// tc: O(logn)
2+
// sc: O(logn)
3+
const hammingWeight_simple = function (n) {
4+
const binaryStr = n.toString(2);
5+
let answer = 0;
6+
7+
for (char of binaryStr) {
8+
if (+char === 1) {
9+
answer++;
10+
}
11+
}
12+
13+
return answer;
14+
};
15+
16+
// toString(2)를 쓰지 않고 처리
17+
// tc: O(logn)
18+
// sc: O(1)
19+
const hammingWeight = function (n) {
20+
let answer = 0;
21+
22+
while (n >= 0) {
23+
const remains = n % 2;
24+
if (remains === 1) answer++;
25+
n = Math.floor(n / 2);
26+
}
27+
28+
return answer;
29+
};

0 commit comments

Comments
 (0)