File tree Expand file tree Collapse file tree 2 files changed +61
-0
lines changed Expand file tree Collapse file tree 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