Skip to content

Commit 95d5f23

Browse files
committed
counting-bits
1 parent d75317c commit 95d5f23

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

counting-bits/taekwon-dev.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/**
2+
* 공간 복잡도: O(N)
3+
* 시간 복잡도: O(N)
4+
* - 만약 1 ~ N 까지 각 수에 대해서 이진수로 변환한 뒤 1의 개수를 카운트 했다면? - O(NlogN)
5+
* Note:
6+
* - a >> b: a 의 이진 표현을 오픈쪽으로 b 비트만큼 이동
7+
* - i >> 1: a 의 이진 표현에서 가장 오픈쪽 하나가 잘림 (i는 양수 범위를 가지므로, 왼쪽은 0으로 채워짐)
8+
* - a & b: AND 연산
9+
* - i & 1: 이전 결과 값이 메모되어 있으므로, 내가 궁금한 것 가장 마지막 자리 수 값이 1인지 여부.
10+
*/
11+
class Solution {
12+
public int[] countBits(int n) {
13+
int[] result = new int[n + 1];
14+
for (int i = 1; i <= n; i++) {
15+
result[i] = result[i >> 1] + (i & 1);
16+
}
17+
return result;
18+
}
19+
}

0 commit comments

Comments
 (0)