From dfe8f0f7e07793c8a65ab2e7df0a260b791fa817 Mon Sep 17 00:00:00 2001 From: jaeyeonjung <87858105+solbijae@users.noreply.github.com> Date: Mon, 28 Jul 2025 17:12:40 +0900 Subject: [PATCH 1/3] valid-anagram solution --- valid-anagram/solbijae.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 valid-anagram/solbijae.ts diff --git a/valid-anagram/solbijae.ts b/valid-anagram/solbijae.ts new file mode 100644 index 000000000..8ea6b75f7 --- /dev/null +++ b/valid-anagram/solbijae.ts @@ -0,0 +1,17 @@ +function isAnagram(s: string, t: string): boolean { + // 첫 시도: 시간 복잡도 O(n log n), 공간 복잡도 O(n) + // const sSort = s.split('').sort(); + // const tSort = t.split('').sort(); + // return JSON.stringify(sSort) === JSON.stringify(tSort); + + // 시간 복잡도 O(n), 공간복잡도 O(1) + if (s.length !== t.length) return false; + + const count = new Array(26).fill(0); + for (let i=0; i c === 0); +}; From 3b62824b0e75256b42f467d9503786b7b1c5694e Mon Sep 17 00:00:00 2001 From: jaeyeonjung <87858105+solbijae@users.noreply.github.com> Date: Thu, 31 Jul 2025 10:23:29 +0900 Subject: [PATCH 2/3] climbing-stairs solution --- climbing-stairs/solbijae.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 climbing-stairs/solbijae.ts diff --git a/climbing-stairs/solbijae.ts b/climbing-stairs/solbijae.ts new file mode 100644 index 000000000..c55c52ea0 --- /dev/null +++ b/climbing-stairs/solbijae.ts @@ -0,0 +1,16 @@ +function climbStairs(n: number): number { + if (n <= 3) return n; + + // 첫 시도: 시간 복잡도 O(2^n), 공간 복잡도 O(n) + // return climbStairs(n - 1) + climbStairs(n - 2); + + // 두번째 시도: 시간 복잡도 O(n), 공간 복잡도 O(1) + let prev1 = 2, prev2 = 1; + for (let i = 3; i <= n; i++) { + const curr = prev1 + prev2; + prev2 = prev1; + prev1 = curr; + } + + return prev1; +}; From 1682c3f95ebd1cb0b273a052f5e46bc61c73d136 Mon Sep 17 00:00:00 2001 From: jaeyeonjung <87858105+solbijae@users.noreply.github.com> Date: Fri, 1 Aug 2025 15:42:08 +0900 Subject: [PATCH 3/3] product-of-array-except-self --- product-of-array-except-self/solbijae.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 product-of-array-except-self/solbijae.ts diff --git a/product-of-array-except-self/solbijae.ts b/product-of-array-except-self/solbijae.ts new file mode 100644 index 000000000..60b614b5e --- /dev/null +++ b/product-of-array-except-self/solbijae.ts @@ -0,0 +1,19 @@ +function productExceptSelf(nums: number[]): number[] { + // 시간 복잡도: O(n), 공간 복잡도: O(1) + const n = nums.length; + const answer = new Array(n).fill(1); + + // answer[i]에 left 곱 저장 + for (let i = 1; i < n; i++) { + answer[i] = answer[i - 1] * nums[i - 1]; + } + + // right 곱을 한 변수에 저장하면서 answer에 곱하기 + let rightProduct = 1; + for (let i = n - 1; i >= 0; i--) { + answer[i] *= rightProduct; + rightProduct *= nums[i]; + } + + return answer; +}