File tree Expand file tree Collapse file tree 5 files changed +97
-0
lines changed
product-of-array-except-self Expand file tree Collapse file tree 5 files changed +97
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number } n
3+ * @return {number }
4+ */
5+ var climbStairs = function ( n ) {
6+ const arr = [ 1 , 2 ] ;
7+ for ( let i = 2 ; i <= n - 1 ; i ++ ) {
8+ arr [ i ] = arr [ i - 2 ] + arr [ i - 1 ] ;
9+ }
10+ return arr [ n - 1 ] ;
11+ } ;
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number } n
3+ * @return {number }
4+ */
5+ var hammingWeight = function ( n ) {
6+ const binary = n . toString ( 2 ) ;
7+ const arr = [ ...binary ] ;
8+ let count = 0 ;
9+ arr . map ( ( num ) => {
10+ if ( num === "1" ) {
11+ count ++ ;
12+ }
13+ } ) ;
14+ return count ;
15+ } ;
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number[] } nums
3+ * @return {number[] }
4+ */
5+ var productExceptSelf = function ( nums ) {
6+ // [-1,1,0,-3,3]
7+ if ( ! nums . includes ( 0 ) ) {
8+ const allNumsProduct = nums . reduce ( ( acc , cur ) => acc * cur ) ;
9+ return nums . map ( ( num ) => allNumsProduct / num ) ;
10+ } else {
11+ let arr = [ ] ;
12+ for ( let i = 0 ; i < nums . length ; i ++ ) {
13+ if ( nums [ i ] !== 0 ) {
14+ arr [ i ] = 0 ;
15+ } else {
16+ console . log ( "여기는?" ) ;
17+ const newArr = [ ...nums ] ;
18+ newArr . splice ( i , 1 ) ;
19+ console . log ( "newArr ==>" , newArr ) ;
20+ if ( newArr . includes ( 0 ) ) {
21+ arr [ i ] = 0 ;
22+ } else {
23+ const product = newArr . reduce ( ( arr , cur ) => arr * cur ) ;
24+ console . log ( "product ==>" , product ) ;
25+ arr [ i ] = product ;
26+ }
27+ }
28+ }
29+ return arr ;
30+ }
31+ } ;
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {string } s
3+ * @param {string } t
4+ * @return {boolean }
5+ */
6+ var isAnagram = function ( s , t ) {
7+ let resultS = [ ...s ] . sort ( ) ;
8+ let resultT = [ ...t ] . sort ( ) ;
9+ return resultS . join ( ) === resultT . join ( ) ;
10+ } ;
Original file line number Diff line number Diff line change 1+ /**
2+ * @param {string } s
3+ * @return {boolean }
4+ */
5+ var isPalindrome = function ( s ) {
6+ const arr = [ ...s ] ;
7+ let text = "" ;
8+ for ( let i = 0 ; i < arr . length ; i ++ ) {
9+ if ( isAlphabet ( arr [ i ] ) === true && arr [ i ] !== " " ) {
10+ text = text + arr [ i ] . toLowerCase ( ) ;
11+ } else if ( isNumeric ( arr [ i ] ) === true && arr [ i ] !== " " ) {
12+ text = text + arr [ i ] ;
13+ }
14+ }
15+ console . log ( "text -->" , text ) ;
16+ for ( let i = 0 ; i < text . length / 2 ; i ++ ) {
17+ if ( text [ i ] !== text [ text . length - 1 - i ] ) {
18+ return false ;
19+ }
20+ }
21+ return true ;
22+ } ;
23+
24+ function isAlphabet ( char ) {
25+ return / [ a - z A - Z ] / . test ( char ) ;
26+ }
27+
28+ function isNumeric ( str ) {
29+ return ! isNaN ( str ) ;
30+ }
You can’t perform that action at this time.
0 commit comments