File tree Expand file tree Collapse file tree 3 files changed +83
-0
lines changed
product-of-array-except-self Expand file tree Collapse file tree 3 files changed +83
-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+ //(n) = f(n - 1) + f(n - 2)
7+ let tempArray = [ ] ;
8+
9+ for ( let i = 0 ; i <= n ; i ++ ) {
10+ if ( i === 0 || i === 1 ) {
11+ tempArray . push ( 1 ) ;
12+ } else {
13+ let tempSum = 0 ;
14+ tempSum = tempArray [ i - 2 ] + tempArray [ i - 1 ] ;
15+ tempArray . push ( tempSum ) ;
16+ }
17+ }
18+ return tempArray [ n ] ;
19+ } ;
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+
7+ const NUMS_LENGTH = nums . length ;
8+ const isZeroArray = [ ] ; //boolean
9+ let zeroCount = 0 ;
10+
11+ let totalProduct = nums . reduce ( ( acc , item ) => {
12+ if ( item === 0 ) {
13+ zeroCount ++ ;
14+ isZeroArray . push ( true ) ;
15+ return acc ;
16+ } else {
17+ isZeroArray . push ( false ) ;
18+ return acc * item ;
19+ }
20+ } , 1 ) ;
21+
22+ // 엣지 케이스 대비 1: nums의 요소 중 0이 두 개 이상인 경우
23+ if ( zeroCount >= 2 ) {
24+ totalProduct = 0 ;
25+ }
26+
27+ const tempArray = [ ] ;
28+
29+ for ( let i = 0 ; i < NUMS_LENGTH ; i ++ ) {
30+ if ( isZeroArray [ i ] === true ) {
31+ tempArray . push ( totalProduct ) ;
32+ } else if ( zeroCount >= 1 ) {
33+ // 엣지 케이스 대비 2: isZeroArray[i]가 false 더라도 nums의 요소 중 zero가 하나라도 있는 경우
34+ // (지금 보니 이 부분은 zeroCount === 1로 했어도 될 것 같네요...)
35+ tempArray . push ( 0 ) ;
36+ } else {
37+ tempArray . push ( totalProduct / nums [ i ] ) ;
38+ }
39+ }
40+
41+ return tempArray ;
42+ } ;
43+
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+ //1. s와 t를 Array로 만든다.
8+ const sArray = s . split ( "" ) ;
9+ const tArray = t . split ( "" ) ;
10+
11+ //2. sArray와 tArray의 sort를 같게 만든다.
12+ const sortedSArray = sArray . sort ( ) ;
13+ const sortedTArray = tArray . sort ( ) ;
14+
15+ //3. sArray와 tArray가 같은지 판별한다.
16+ const result = JSON . stringify ( sortedSArray ) === JSON . stringify ( sortedTArray ) ;
17+
18+ //4. 같으면 true를, 다르면 false를 반환한다.
19+ return result ;
20+
21+ } ;
You can’t perform that action at this time.
0 commit comments