
๐ To Do List
โ๏ธ ์ฝ๋ฉ ํ ์คํธ ๊ฐ์ - ์ฌ๊ท ํจ์
โ๏ธ ์ฌ์ด๋ ํ๋ก์ ํธ - token ์ฌ๋ฐ๊ธ ์๋ํฌ์ธํธ ์ถ๊ฐ์ค
๋ณ์ ๋ค๋ ์ค๋๋ผ ๋ง์ด ๋ชป ํ๋ค. ์กฐ๊ธํด ํ์ง ๋ง๊ณ ๊พธ์คํ ํด๋ณด์ !
๐ฉ๐ป๐ป Today I Learned ...
์ฌ๊ท ํจ์ (Recursive Function)
- ์๊ธฐ ์์ ์ ํธ์ถํ๋ ํจ์
- ์ข
๋ฃ ์กฐ๊ฑด ํ์
- ์ข ๋ฃ ์กฐ๊ฑด์ด ์์ผ๋ฉด ๋ฌดํ ๋ฃจํ์ ๋น ์ ธ `Stack Overflow`๊ฐ ๋ฐ์ ํ ์ ์๋ค.

๐ก Tip ๋ก์ง์ด ๋ฐ๋ณต๋๋ ๊ตฌ์กฐ๋ผ๋ฉด ์ฌ๊ท์ ์ผ๋ก ๊ตฌํํด๋ณด์.
ํฉํ ๋ฆฌ์ผ ๊ตฌํ
- ํฉํ ๋ฆฌ์ผ์ 1๋ถํฐ ์ด๋ค ์์ ์ ์ n๊น์ง์ ์ ์๋ฅผ ๋ชจ๋ ๊ณฑํ ๊ฒ์ ์๋ฏธํ๋ค.
์๋ฅผ๋ค์ด `5!` ๋ `5! = 5 × 4 × 3 × 2 × 1 = 120`
์์์ผ๋ก ํํํ๋ฉด `n! = n × (n-1) × (n-2) × ... × 2 × 1` ์ด๋ค.
์ด๋ฅผ ์ฝ๋๋ก ํํํ๋ฉด ์๋์ ๊ฐ๋ค.
Factorial(5) = 5 × Factorial(4)
Factorial(4) = 4 × Factorial(3)
Factorial(3) = 3 × Factorial(2)
Factorial(2) = 2 × Factorial(1)
Factorial(1) = 1 ← ์ข
๋ฃ ์กฐ๊ฑด
def factorial(n):
if n == 1: # โญ๏ธ ์ข
๋ฃ ์กฐ๊ฑด
return 1
return n * factorial(n-1) # ์ฌ๊ท ํธ์ถ
print(factorial(5)) # 120
ํ๋ฌธ(Palindrome) ํ๋ณ ๊ตฌํ
- ํ๋ฌธ์ ๋๋ฐ๋ก ์ฝ์ผ๋ ๊ฑฐ๊พธ๋ก ์ฝ์ผ๋ ๋๊ฐ์ ๋จ์ด๋ ๋ฌธ์ฅ์ ์๋ฏธํ๋ค.
"abcba" ๋ผ๋ ๋ฌธ์์ด์ด ํ๋ฌธ์ธ์ง ํ๋จํ๋ ๊ณผ์ ์ ์๋์ ๊ฐ๋ค.
โฌ๏ธ โฌ๏ธ ์ฒซ๋ฒ์งธ ๊ธ์์ ๋งจ ๋ค์์ ์ฒซ๋ฒ์งธ ๊ธ์๊ฐ ๊ฐ์์ง ๋น๊ต
a b c b a
โฌ๏ธ โฌ๏ธ ๋๋ฒ์งธ ๊ธ์์ ๋งจ ๋ค์์ ๋๋ฒ์งธ ๊ธ์๊ฐ ๊ฐ์์ง ๋น๊ต
a b c b a
โฌ๏ธ ๋ง์ง๋ง ๋จ์ ํ ๊ธ์๋ ๋น๊ต ๋์ X
a b c b a
์ฌ๊ท์ ์ฌ๊ณ ๋ก ํํํ์๋ฉด ์๋์ ๊ฐ๋ค.
โฌ๏ธ โฌ๏ธ ์ฒซ๋ฒ์งธ ๊ธ์์ ๋งจ๋ง์ง๋ง ๊ธ์๊ฐ ๊ฐ์์ง ๋น๊ต
a b c b a
b c b ๋น๊ตํ ๊ธ์๊ฐ ๊ฐ๋ค๋ฉด ์๋ผ๋ด์, ๋น๊ต ๋ฒ์๋ฅผ ์ค์ธ๋ค.
โฌ๏ธ โฌ๏ธ ์ฒซ๋ฒ์งธ ๊ธ์์ ๋งจ๋ง์ง๋ง ๊ธ์๊ฐ ๊ฐ์์ง ๋น๊ต
b c b
c ๋น๊ตํ ๊ธ์๊ฐ ๊ฐ๋ค๋ฉด ์๋ผ๋ด์, ๋น๊ต ๋ฒ์๋ฅผ ์ค์ธ๋ค.
โฌ๏ธ ๋ง์ง๋ง ๋จ์ ํ ๊ธ์๋ ๋น๊ต ๋์ X
c
๊ฐ์ ๊ธ์๋ก ํ๋จ๋๋ฉด ํด๋น ๊ธ์๋ค์ ์ ์ธํ์ฌ ๋น๊ต ๋ฒ์๋ฅผ ์ค์ด๊ณ , ์ฒซ๋ฒ์งธ ๊ธ์์ ๋ง์ง๋ง ๊ธ์๋ง ๋น๊ตํ๋ฉด ๋๋ค.
์ด๋ฅผ ์ฝ๋๋ก ํํํ๋ฉด ์๋์ ๊ฐ๋ค.
def is_palindrome(string):
if len(string) <= 1: # โญ๏ธ ์ข
๋ฃ ์กฐ๊ฑด
return True
if string[0] != string[-1]:
return False
return is_palindrome(string[1:-1])
Python ๋ฌธ์์ด ์ฌ๋ผ์ด์ฑ
- `๋ฌธ์์ด[์์์ธ๋ฑ์ค:๋์ธ๋ฑ์ค]` ๋ก ํ๊ธฐ
- ๋ฌธ์์ด์ ๋ค์์๋ถํฐ ์๋ฅด๊ณ ์ถ์ ๊ฒฝ์ฐ, ์์ ์ธ๋ฑ์ฑ์ ์ฌ์ฉํ๋ค.
"๊ฐ๋๋ค๋ผ๋ง๋ฐ์ฌ"[0:5] # ๊ฐ๋๋ค๋ผ๋ง
# 5๋ฒ์งธ ์ธ๋ฑ์ค "์ "์์ ์๋ผ์ค.
"๊ฐ๋๋ค๋ผ๋ง๋ฐ์ฌ"[0:6] # ๊ฐ๋๋ค๋ผ๋ง๋ฐ
"๊ฐ๋๋ค๋ผ๋ง๋ฐ์ฌ"[0:1] # ๊ฐ
"๊ฐ๋๋ค๋ผ๋ง๋ฐ์ฌ"[3:4] # ๋ผ
"๊ฐ๋๋ค๋ผ๋ง๋ฐ์ฌ"[0:7] # ๊ฐ๋๋ค๋ผ๋ง๋ฐ์ฌ
"๊ฐ๋๋ค๋ผ๋ง๋ฐ์ฌ"[1:-3] # ๋๋ค๋ผ
"๊ฐ๋๋ค๋ผ๋ง๋ฐ์ฌ"[1:-2] # ๋๋ค๋ผ๋ง
"๊ฐ๋๋ค๋ผ๋ง๋ฐ์ฌ"[1:-1] # ๋๋ค๋ผ๋ง๋ฐ'Today I Learned ๐ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [TIL-20260206] Duration์ผ๋ก ํ ํฐ ๋ง๋ฃ ์๋ฐ ์ฌ๋ถ ์ฒดํฌ (0) | 2026.02.07 |
|---|---|
| [TIL-20260205] Access Token ์ฌ๋ฐ๊ธ ๊ตฌํ (0) | 2026.02.05 |
| [TIL-20260203] ์ฝ๋ฉ ํ ์คํธ - Linked List , ์ด์ง ํ์(Binary Search) (0) | 2026.02.03 |
| [TIL-20260202] Kotlin data class, enum class (0) | 2026.02.02 |
| [TIL-20260131] Docker ์ด๋ฏธ์ง ๋ค๋ฃจ๊ธฐ (0) | 2026.01.31 |