File tree 5 files changed +97
-0
lines changed
product-of-array-except-self
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