File tree 2 files changed +61
-0
lines changed
2 files changed +61
-0
lines changed Original file line number Diff line number Diff line change
1
+ function hammingWeight ( n : number ) : number {
2
+
3
+ // ํ์ด 1:
4
+ // binary๋ก ๋ณํ ํ 1 count
5
+ // ์๊ฐ ๋ณต์ก๋: O(log n)
6
+ // ๊ณต๊ฐ ๋ณต์ก๋: O(log n)
7
+ const getResult1 = ( ) => {
8
+ const binaryNum = n . toString ( 2 ) ;
9
+
10
+ let count = 0 ;
11
+
12
+ for ( let i = 0 ; i < binaryNum . length ; i ++ ) {
13
+ if ( binaryNum . charAt ( i ) === '1' ) {
14
+ count ++
15
+ }
16
+ }
17
+
18
+ return count ;
19
+ } ;
20
+
21
+ // ํ์ด 2:
22
+ // ๋นํธ ์ฐ์ฐ์ ํ์ฉํ ์ ์๋ค๊ณ ํจ (From GPT)
23
+ // ์๊ฐ ๋ณต์ก๋: O(log n)
24
+ // ๊ณต๊ฐ ๋ณต์ก๋: O(1)
25
+ // const getResult2 = () => {
26
+ // let count = 0;
27
+
28
+ // while (n !== 0) {
29
+ // count += n & 1;
30
+ // n >>>= 1;
31
+ // }
32
+
33
+ // return count;
34
+ // }
35
+
36
+ return getResult1 ( ) ;
37
+ // return getResult2();
38
+ } ;
Original file line number Diff line number Diff line change
1
+ function isPalindrome ( s : string ) : boolean {
2
+
3
+ // ํ์ด 1:
4
+ // lowcase ๋ณํ, ์ก๊ท์์ผ๋ก ๋ฌธ์ ์ด์ธ ํํฐ
5
+ // ํํฐ๋ ๋ฌธ์์ด ์ํํ๋ฉด์ (i, length - i)
6
+ // ์ ๋ถ ์ผ์นํ๋ฉด true ์๋๋ฉด false
7
+ // ์๊ฐ ๋ณต์ก๋: O(n)
8
+ // ๊ณต๊ฐ ๋ณต์ก๋: O(n)
9
+
10
+ const validPalindrome1 = ( ) => {
11
+ const sanitizedStrArr = [ ...s . toLowerCase ( ) . replace ( / [ ^ a - z 0 - 9 ] / g, "" ) ] ;
12
+
13
+ for ( let i = 0 ; i < Math . floor ( sanitizedStrArr . length / 2 ) ; i ++ ) {
14
+ if ( sanitizedStrArr [ i ] !== sanitizedStrArr [ ( sanitizedStrArr . length - 1 ) - i ] ) {
15
+ return false ;
16
+ }
17
+ }
18
+
19
+ return true ;
20
+ }
21
+
22
+ return validPalindrome1 ( ) ;
23
+ } ;
You canโt perform that action at this time.
0 commit comments