From 9fc8c89453cb7cadc774e41480435950ec651465 Mon Sep 17 00:00:00 2001 From: Jinyoung Jeong <80400463+jyoung2419@users.noreply.github.com> Date: Tue, 15 Sep 2026 22:39:44 +0900 Subject: [PATCH 1/2] Add climbStairs function using dynamic programming Implement dynamic programming solution for climbing stairs problem. --- .../70. Climbing Stairs" | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 "leetcode3/\354\240\225\354\247\204\354\230\201/70. Climbing Stairs" diff --git "a/leetcode3/\354\240\225\354\247\204\354\230\201/70. Climbing Stairs" "b/leetcode3/\354\240\225\354\247\204\354\230\201/70. Climbing Stairs" new file mode 100644 index 00000000..639b36e0 --- /dev/null +++ "b/leetcode3/\354\240\225\354\247\204\354\230\201/70. Climbing Stairs" @@ -0,0 +1,15 @@ +/** + * @param {number} n + * @return {number} + */ +var climbStairs = function(n) { + // dp + // 시간복잡도: O(n) (for문) + const dp = []; + dp[0] = 1; + dp[1] = 1; + for (let i = 2; i <= n; i++){ + dp[i] = dp[i-1] + dp[i-2]; + } + return dp[n]; +}; From 786ad2204129f8188806d6897b33c0fb24dd7a9e Mon Sep 17 00:00:00 2001 From: Jinyoung Jeong <80400463+jyoung2419@users.noreply.github.com> Date: Tue, 15 Sep 2026 22:40:10 +0900 Subject: [PATCH 2/2] Add function to count unique digit numbers Implement function to count numbers with unique digits based on input n. --- .../357. Count Numbers with Unique Digits" | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 "leetcode3/\354\240\225\354\247\204\354\230\201/357. Count Numbers with Unique Digits" diff --git "a/leetcode3/\354\240\225\354\247\204\354\230\201/357. Count Numbers with Unique Digits" "b/leetcode3/\354\240\225\354\247\204\354\230\201/357. Count Numbers with Unique Digits" new file mode 100644 index 00000000..4569fc5e --- /dev/null +++ "b/leetcode3/\354\240\225\354\247\204\354\230\201/357. Count Numbers with Unique Digits" @@ -0,0 +1,25 @@ +/** + * @param {number} n + * @return {number} + */ +var countNumbersWithUniqueDigits = function(n) { + let ans = 10; + let count = 9; + if (n == 0){ + return 1; + } else if (n==1) { + return ans; + } else { + // 한자리수 0~9 -> 10개 + // 2자리수 1~9 -> 9개 * 9개(0~9 중 첫째자리 제외) + // 3자리수 9 * 9 * 8 + // 9*9*8*7 + let next = 9; + for (let i = 2; i <= n; i++){ // n==3 + count = count * next; // count = 9*9 count = 9*9*8 + ans = ans + count; // 81+10 + next--; // 8 + } + } + return ans; +};