File tree Expand file tree Collapse file tree 3 files changed +63
-0
lines changed
product-of-array-except-self Expand file tree Collapse file tree 3 files changed +63
-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
+ if ( n <= 2 ) return n ;
7
+
8
+ let prev1 = 1 ;
9
+ let prev2 = 2 ;
10
+
11
+ for ( let i = 3 ; i <= n ; i ++ ) {
12
+ const curr = prev1 + prev2 ;
13
+ prev1 = prev2 ;
14
+ prev2 = curr ;
15
+ }
16
+
17
+ return prev2 ;
18
+ } ;
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
+ const n = nums . length ;
7
+ const answer = new Array ( n ) . fill ( 1 ) ;
8
+
9
+ // 왼쪽 곱 계산
10
+ let prefix = 1 ;
11
+ for ( let i = 0 ; i < n ; i ++ ) {
12
+ answer [ i ] = prefix ;
13
+ prefix *= nums [ i ] ;
14
+ }
15
+
16
+ // 오른쪽 곱 계산
17
+ let suffix = 1 ;
18
+ for ( let i = n - 1 ; i >= 0 ; i -- ) {
19
+ answer [ i ] *= suffix ;
20
+ suffix *= nums [ i ] ;
21
+ }
22
+
23
+ return answer ;
24
+ } ;
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
+ if ( s . length !== t . length ) return false ;
8
+
9
+ const count = { } ;
10
+
11
+ for ( let char of s ) {
12
+ count [ char ] = ( count [ char ] || 0 ) + 1 ;
13
+ }
14
+
15
+ for ( let char of t ) {
16
+ if ( ! count [ char ] ) return false ; // 없거나 개수가 0
17
+ count [ char ] -- ;
18
+ }
19
+
20
+ return true ;
21
+ } ;
You can’t perform that action at this time.
0 commit comments