Skip to content

Commit aa8ba19

Browse files
committed
solutions commit
1 parent ad62cd8 commit aa8ba19

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

climbing-stairs/juhui-jeong.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
3+
시간 복잡도: O(n)
4+
공간 복잡도: O(1)
5+
6+
해당 문제를 구할 때 바로 생각나지 않아 leet code의 코멘트들을 보며 힌트를 구했습니다.
7+
*/
8+
function climbStairs(n: number): number {
9+
if (n <= 2) return n;
10+
11+
let a = 1;
12+
let b = 2;
13+
for (let i = 3; i <= n; i++) {
14+
let c = a + b;
15+
a = b;
16+
b = c;
17+
}
18+
return b;
19+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
/*
2+
시간 복잡도: O(n)
3+
공간 복잡도: O(1)
4+
*/
5+
function productExceptSelf(nums: number[]): number[] {
6+
const n = nums.length;
7+
const answer = new Array<number>(n);
8+
9+
// 왼쪽 곱 채우기
10+
let leftProduct = 1;
11+
for (let i = 0; i < n; i++) {
12+
answer[i] = leftProduct;
13+
leftProduct *= nums[i];
14+
}
15+
16+
// 오른쪽 곱 채우기
17+
let rightProduct = 1;
18+
for (let i = n - 1; i >= 0; i--) {
19+
answer[i] *= rightProduct;
20+
rightProduct *= nums[i];
21+
}
22+
return answer;
23+
}
24+
25+
/*
26+
// Time Limit Exceeded
27+
function productExceptSelf(nums: number[]): number[] {
28+
let answer = [];
29+
for (let i = 0; i < nums.length; i++) {
30+
const mulOfNums = nums.reduce((accumulator, currentValue, currentIndex) => {
31+
if (currentIndex !== i) {
32+
return accumulator * currentValue;
33+
}
34+
return accumulator;
35+
}, 1);
36+
answer.push(mulOfNums);
37+
}
38+
return answer;
39+
}
40+
*/

0 commit comments

Comments
 (0)