Skip to content

Commit 78de64d

Browse files
authored
Merge pull request #1742 from solbijae/main
[solbijae] WEEK 02 solutions
2 parents b68ae4a + 1682c3f commit 78de64d

File tree

3 files changed

+52
-0
lines changed

3 files changed

+52
-0
lines changed

climbing-stairs/solbijae.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
function climbStairs(n: number): number {
2+
if (n <= 3) return n;
3+
4+
// 첫 시도: 시간 복잡도 O(2^n), 공간 복잡도 O(n)
5+
// return climbStairs(n - 1) + climbStairs(n - 2);
6+
7+
// 두번째 시도: 시간 복잡도 O(n), 공간 복잡도 O(1)
8+
let prev1 = 2, prev2 = 1;
9+
for (let i = 3; i <= n; i++) {
10+
const curr = prev1 + prev2;
11+
prev2 = prev1;
12+
prev1 = curr;
13+
}
14+
15+
return prev1;
16+
};
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
function productExceptSelf(nums: number[]): number[] {
2+
// 시간 복잡도: O(n), 공간 복잡도: O(1)
3+
const n = nums.length;
4+
const answer = new Array(n).fill(1);
5+
6+
// answer[i]에 left 곱 저장
7+
for (let i = 1; i < n; i++) {
8+
answer[i] = answer[i - 1] * nums[i - 1];
9+
}
10+
11+
// right 곱을 한 변수에 저장하면서 answer에 곱하기
12+
let rightProduct = 1;
13+
for (let i = n - 1; i >= 0; i--) {
14+
answer[i] *= rightProduct;
15+
rightProduct *= nums[i];
16+
}
17+
18+
return answer;
19+
}

valid-anagram/solbijae.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
function isAnagram(s: string, t: string): boolean {
2+
// 첫 시도: 시간 복잡도 O(n log n), 공간 복잡도 O(n)
3+
// const sSort = s.split('').sort();
4+
// const tSort = t.split('').sort();
5+
// return JSON.stringify(sSort) === JSON.stringify(tSort);
6+
7+
// 시간 복잡도 O(n), 공간복잡도 O(1)
8+
if (s.length !== t.length) return false;
9+
10+
const count = new Array(26).fill(0);
11+
for (let i=0; i<s.length; i++) {
12+
count[s.charCodeAt(i) - 97]++;
13+
count[t.charCodeAt(i) - 97]--;
14+
}
15+
16+
return count.every(c => c === 0);
17+
};

0 commit comments

Comments
 (0)