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; +}; 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]; +};