Skip to content

Commit 18419c8

Browse files
authored
Merge pull request #2062 from socow/main
[socow] WEEK 02 Solutions
2 parents 9617e80 + 0f3d6ac commit 18419c8

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# ๋ฌธ์ œ๋‚ด์šฉ
2+
# ํ•œ๋ฒˆ์— 1์นธ ๋˜๋Š” 2์นธ์„ ์˜ค๋ฅผ์ˆ˜์žˆ์Œ ์ •ํ™•ํžˆ n์นธ์— ๋„๋‹ฌํ• ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ˆ˜๋ฅผ ๊ตฌํ•˜๋ผ
3+
# ๊ณ„๋‹จ ๋ฌธ์ œ = ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด
4+
5+
class Solution:
6+
def climbStairs(self, n: int) -> int:
7+
# 1์นธ ๋˜๋Š” 0์นธ ๊ณ„๋‹จ์€ ๋ฐฉ๋ฒ•์ด 1๊ฐ€์ง€๋ฟ
8+
if n <= 1:
9+
return 1
10+
11+
# dp[0] = 1, dp[1] = 1
12+
prev2, prev1 = 1, 1 # (n-2), (n-1)
13+
14+
# n=2๋ถ€ํ„ฐ n๊นŒ์ง€ ๋ฐ˜๋ณต
15+
for _ in range(2, n + 1):
16+
curr = prev1 + prev2 # ํ˜„์žฌ ๊ณ„๋‹จ ๋ฐฉ๋ฒ• ์ˆ˜ = ์ด์ „ ๋‘ ๊ณ„๋‹จ์˜ ํ•ฉ
17+
prev2, prev1 = prev1, curr # ํ•œ ์นธ์”ฉ ์ „์ง„
18+
return prev1

โ€Žvalid-anagram/socow.pyโ€Ž

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# ๋ฌธ์ œ๋‚ด์šฉ
2+
# ๋‘ ๋ฌธ์ž์—ด s์™€ t๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, t๊ฐ€ s์˜ ์• ๋„ˆ๊ทธ๋žจ(anagram)์ธ์ง€ ํŒ๋ณ„ํ•˜๋ผ.
3+
# ์• ๋„ˆ๊ทธ๋žจ์ด๋ž€ ๊ฐ™์€ ๋ฌธ์ž๋ฅผ ๊ฐ™์€ ๊ฐœ์ˆ˜๋งŒํผ ์‚ฌ์šฉํ•ด ์ˆœ์„œ๋งŒ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ ๋งํ•ด.
4+
# ๊ฒฐ๊ณผ: ์• ๋„ˆ๊ทธ๋žจ์ด๋ฉด True, ์•„๋‹ˆ๋ฉด False.
5+
6+
# sorted(): ๋ฌธ์ž์—ด์„ ํ•œ ๊ธ€์ž์”ฉ ์ž˜๋ผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์„œ ๋น„๊ต (๊ฐ„๋‹จ, ์ง๊ด€)
7+
# 1. sorted()๋กœ ๋‘ ๋ฌธ์ž์—ด์„ ์ •๋ ฌํ•ด์„œ ๋น„๊ต
8+
# 2. ์ •๋ ฌ๋œ ๊ฒฝ๊ณผ๊ฐ€ ๊ฐ™์œผ๋ฉด True ์•„๋‹ˆ๋ฉด False
9+
# ์‹œ๊ฐ„๋ณต์žก๋„: O(n log n)
10+
# ๊ณต๊ฐ„๋ณต์žก๋„: O(n)
11+
12+
class Solution:
13+
def isAnagram(self, s: str, t: str) -> bool:
14+
if len(s) != len(t):
15+
return False
16+
return sorted(s) == sorted(t)

0 commit comments

Comments
ย (0)