Skip to content

Commit 05da300

Browse files
authored
Merge branch 'DaleStudy:main' into main
2 parents 130419a + 4102a3e commit 05da300

File tree

226 files changed

+7420
-17
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

226 files changed

+7420
-17
lines changed

โ€Ž3sum/changhyumm.pyโ€Ž

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
class Solution:
2+
def threeSum(self, nums: List[int]) -> List[List[int]]:
3+
# ans = set()
4+
# for i in range(len(n)):
5+
# seen = {}
6+
# for j in range(i+1, len(n)):
7+
# complement = -(nums[i] + nums[j])
8+
# if complement in seen:
9+
# ans.add(tuple(sorted([nums[i], nums[j], complement])))
10+
# seen[nums[j]] = j
11+
# return [list(triplet) for triplet in ans]
12+
# hash + ์ด์ค‘ loop -> O(n^2)
13+
14+
15+
## ํˆฌํฌ์ธํ„ฐ ํ™œ์šฉ
16+
# sort + loop -> O(nlogn)
17+
ans_set = set()
18+
nums.sort()
19+
for i in range(len(nums)):
20+
l = i + 1
21+
r = len(nums) - 1
22+
while l < r:
23+
total = nums[i] + nums[l] + nums[r]
24+
if total < 0:
25+
l += 1
26+
elif total > 0:
27+
r -= 1
28+
else:
29+
# ์ค‘๋ณต์ œ๊ฑฐ
30+
ans_set.add((nums[i], nums[l], nums[r]))
31+
l += 1
32+
r -= 1
33+
return list(ans_set)

โ€ŽREADME.mdโ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
## ์ฐจ์ˆ˜
1515

16+
- 6๊ธฐ (Nov 9, 2025 - Feb 20, 2026): [ํ”„๋กœ์ ํŠธ](https://github.com/orgs/DaleStudy/projects/23/views/3), [ํŒ€](https://github.com/orgs/DaleStudy/teams/leetcode06)
1617
- 5๊ธฐ (Jul 20, 2025 - Nov 1, 2025): [ํ”„๋กœ์ ํŠธ](https://github.com/orgs/DaleStudy/projects/16/views/3), [ํŒ€](https://github.com/orgs/DaleStudy/teams/leetcode05)
1718
- 4๊ธฐ (Mar 30, 2025 - Jul 12, 2025): [ํ”„๋กœ์ ํŠธ](https://github.com/orgs/DaleStudy/projects/13/views/3), [ํŒ€](https://github.com/orgs/DaleStudy/teams/leetcode04)
1819
- 3๊ธฐ (Dec 08, 2024 - Mar 22, 2025): [ํ”„๋กœ์ ํŠธ](https://github.com/orgs/DaleStudy/projects/12/views/3), [ํŒ€](https://github.com/orgs/DaleStudy/teams/leetcode03)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class Solution:
2+
def maxProfit(self, prices: List[int]) -> int:
3+
answer = 0
4+
5+
min_price = prices[0]
6+
for price in prices:
7+
if min_price>price:
8+
min_price=price
9+
10+
if answer<price-min_price:
11+
answer=price-min_price
12+
return answer
13+
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
class Solution:
2+
def climbStairs(self, n: int) -> int:
3+
if (n<1 or n>45):
4+
return 0
5+
6+
def factorial(num):
7+
if num <= 1:
8+
return 1
9+
10+
result = 1
11+
for i in range(2, num+1):
12+
result *= i
13+
return result
14+
15+
steps = 0
16+
cur_steps = 1
17+
quotient = n // 2
18+
k=0
19+
20+
for _ in range(quotient+1):
21+
cur_steps = factorial(n-k) / (factorial(k)*factorial(n-2*k))
22+
k+=1
23+
steps += cur_steps
24+
25+
return int(steps)
26+
27+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Solution:
2+
def climbStairs(self, n: int) -> int:
3+
if n <= 1:
4+
return 1
5+
dp = [0] * n
6+
print(dp)
7+
dp[0] = 1
8+
dp[1] = 2
9+
10+
for i in range(2, n):
11+
dp[i] = dp[i-2] + dp[i-1]
12+
return dp[-1]

โ€Žclimbing-stairs/hongseoupyun.pyโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ def climbStairs(self, n: int) -> int:
2020

2121
prev1 = 1
2222
prev2 = 2
23-
for i in range(n,n+1):
23+
for i in range(3,n+1):
2424
current = prev2 + prev1
2525
prev1 = prev2
2626
prev2 = current
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
public int climbStairs(int n) {
3+
int result = 0;
4+
int first = 1;
5+
int second = 2;
6+
int third = 3;
7+
if (n == 1) {
8+
return first;
9+
} else if (n == 2) {
10+
return second;
11+
} else if (n == 3) {
12+
return third;
13+
}
14+
15+
for (int i = 4; i <= n; i++) {
16+
result = second + third;
17+
second = third;
18+
third = result;
19+
}
20+
return result;
21+
}
22+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package youngDaLee
2+
3+
func climbStairs(n int) int {
4+
if n <= 2 {
5+
return n
6+
}
7+
8+
dp := make([]int, n+1)
9+
dp[1] = 1
10+
dp[2] = 2
11+
12+
for i := 3; i <= n; i++ {
13+
dp[i] = dp[i-1] + dp[i-2]
14+
}
15+
return dp[n]
16+
}
17+
18+
/*
19+
Limit Exceeded
20+
func climbStairs(n int) int {
21+
return dfs(0, n)
22+
}
23+
24+
func dfs(now, n int) int {
25+
if now > n {
26+
return 0
27+
}
28+
if now == n {
29+
return 1
30+
}
31+
32+
return dfs(now+1, n) + dfs(now+2, n)
33+
}
34+
*/

โ€Žcoin-change/8804who.pyโ€Ž

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class Solution:
2+
def coinChange(self, coins: List[int], amount: int) -> int:
3+
dp = [1e9] * (amount+1)
4+
dp[0] = 0
5+
6+
for i in range(1, amount+1):
7+
for coin in coins:
8+
if i-coin>=0:
9+
if dp[i-coin]+1<dp[i]:
10+
dp[i]=dp[i-coin]+1
11+
12+
return -1 if dp[amount]==1e9 else dp[amount]
13+

โ€Žcoin-change/Blossssom.tsโ€Ž

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param coins - ๋™์ „ ์ข…๋ฅ˜ ๋ฐฐ์—ด
3+
* @param amount - ์ด ๊ธˆ์•ก
4+
* @returns - ์ด ์‚ฌ์šฉ ์ฝ”์ธ ๊ฐฏ์ˆ˜
5+
* @description
6+
* - ํƒ์š•์œผ๋กœ ํ’€๋ฉด ์ตœ์†Œ ๋™์ „๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•  ์ˆ˜ ์—†์Œ
7+
* - dp ๋กœ ํ’€์ด
8+
* - 1 ๋ถ€ํ„ฐ ๊ธˆ์•ก์˜ ์ฝ”์ธ ์‚ฌ์šฉ ๊ฐฏ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด ๊ฐ€๋ฉฐ, ์ด์ „์— ๊ตฌํ•ด๋†“์€ ๊ฐ’๊ณผ min ๋น„๊ต
9+
*/
10+
function coinChange(coins: number[], amount: number): number {
11+
const dp = new Array(amount + 1).fill(Infinity);
12+
13+
dp[0] = 0;
14+
15+
for (let i = 1; i <= amount; i++) {
16+
for (const coin of coins) {
17+
if (i - coin >= 0) {
18+
dp[i] = Math.min(dp[i], dp[i - coin] + 1);
19+
}
20+
}
21+
}
22+
23+
return dp[amount] === Infinity ? -1 : dp[amount];
24+
}
25+
26+
const coins = [1, 2, 5];
27+
const amount = 11;
28+
coinChange(coins, amount);
29+

0 commit comments

Comments
ย (0)