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