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)