File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed
Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * κ° μμ λΉνΈμ κ°μλ₯Ό κ³μ°νλ ν¨μ
3+ * @param {number } nums - μ΅λ μ
4+ * @returns {number[] } - κ° μμ λΉνΈμ κ°μ λ°°μ΄
5+ *
6+ * μκ° λ³΅μ‘λ: O(n)
7+ * - nums λ§νΌ λ°λ³΅νλ©°, κ° μμ λΉνΈμ κ°μλ₯Ό κ³μ°
8+ *
9+ * κ³΅κ° λ³΅μ‘λ: O(n)
10+ * - dp λ°°μ΄μ μ¬μ©νμ¬ O(n) λ§νΌ μΆκ° 곡κ°μ΄ νμ
11+ */
12+ function countBits ( nums : number ) : number [ ] {
13+ // dp λ°°μ΄μ μμ±νκ³ , λͺ¨λ 0μΌλ‘ μ΄κΈ°νν©λλ€.
14+ const dp : number [ ] = new Array ( nums + 1 ) . fill ( 0 ) ;
15+
16+ // κ° μμ λν΄, λΉνΈμ κ°μλ₯Ό κ³μ°ν©λλ€.
17+ for ( let num = 1 ; num <= nums ; num ++ ) {
18+ // numμ 2μ§μλ‘ νννμ λ, 1μ κ°μλ 2μ§μλ‘ λ³ννμ¬ λ¬Έμμ΄λ‘ λ³ν ν,
19+ // '1'μ΄ ν¬ν¨λ λ¬Έμμ΄μ κΈΈμ΄λ₯Ό κ³μ°ν©λλ€.
20+ dp [ num ] = dp [ Math . floor ( num / 2 ) ] + ( num % 2 ) ;
21+ }
22+
23+ return dp ;
24+ }
25+
You canβt perform that action at this time.
0 commit comments