
๐ To Do List
โ๏ธ ์ฝํ ๋ณต์ต - ๋ณํฉ ์ ๋ ฌ, ๋ถํ ์ ๋ณต
โ๏ธ ์ฌ์ด๋ ํ๋ก์ ํธ - access token ์ ํจ์ฑ ์ฒดํฌ API , swagger ๋ฌธ์ ์์
๐ฉ๐ป๐ป Today I Learned ...
๋ณํฉ ์ ๋ ฌ (Merge Sort)
- ๋ฐฐ์ด์ ์๋ถ๋ถ๊ณผ ๋ท๋ถ๋ถ์ ๋ ๊ทธ๋ฃน์ผ๋ก ๋๋์ด ๊ฐ๊ฐ ์ ๋ ฌํ ํ ๋ณํฉํ๋ ์์
์ ๋ฐ๋ณตํ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋ ์ ๋ ฌ๋ ๋ฐฐ์ด์ ํ๋๋ก ํฉ์น๋ค.
array_a = [1, 2, 3, 5]
array_b = [4, 6, 7, 8]
def merge(array1, array2):
i = 0
j = 0
result = []
while i < len(array1) and j < len(array2):
# print("array1[i]", array1[i]) # 1
# print("array2[j]", array2[j]) # 4
if array1[i] < array2[j]:
result.append(array1[i])
i += 1
else:
result.append(array2[j])
j += 1
while i < len(array1):
result.append(array1[i])
i += 1
while j < len(array2):
result.append(array2[j])
j += 1
return result
์๊ณ ๋ฆฌ์ฆ ๋์ ๊ณผ์
array1 = [1, 2, 3, 5]
array2 = [4, 6, 7, 8]
1๋จ๊ณ:
โ
[1, 2, 3, 5]
โ
[4, 6, 7, 8]
1 < 4 → result = [1]
2๋จ๊ณ:
โ
[1, 2, 3, 5]
โ
[4, 6, 7, 8]
2 < 4 → result = [1, 2]
3๋จ๊ณ:
โ
[1, 2, 3, 5]
โ
[4, 6, 7, 8]
3 < 4 → result = [1, 2, 3]
4๋จ๊ณ:
โ
[1, 2, 3, 5]
โ
[4, 6, 7, 8]
5 > 4 → result = [1, 2, 3, 4]
5๋จ๊ณ:
โ
[1, 2, 3, 5]
โ
[4, 6, 7, 8]
5 < 6 → result = [1, 2, 3, 4, 5]
โ
[1, 2, 3, 5]
โ
[4, 6, 7, 8]
6๋จ๊ณ: array1 ๋ → array2 ๋๋จธ์ง ์ถ๊ฐ → result = [1, 2, 3, 4, 5, 6, 7, 8]
๋ถํ ์ ๋ณต (divide & conquer)
- ๋ฌธ์ ๋ฅผ ์์ 2๊ฐ์ ๋ฌธ์ ๋ก ๋ถ๋ฆฌํ๊ณ ๊ฐ๊ฐ์ ํด๊ฒฐํ ๋ค์, ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์์ ์๋์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ ๋ต
- ๋ฐฐ์ด์ ์ ๋ฐ์ฉ ๋๋๊ณ , ๊ฐ๊ฐ์ ์ ๋ ฌํ ํ ๋ณํฉํ๋ค. โก๏ธ ์ฌ๊ท(`Recursion`) ํ์ฉ
def merge_sort(array):
if len(array) <= 1:
return array
min = len(array) // 2
left_array = merge_sort(array[:min]) # ์ฒ์๋ถํฐ ์ค์๊ฐ๊น์ง
right_array = merge_sort(array[min:]) # ์ค์๊ฐ๋ถํฐ ๋๊น์ง
return merge(left_array, right_array) # ์์์ ๊ตฌํํ ๋ณํฉ ์ ๋ ฌ
์๊ณ ๋ฆฌ์ฆ ๋์ ๊ณผ์
[5, 3, 2, 1, 6, 8, 7, 4]
↓ (๋ถํ )
[5, 3, 2, 1] [6, 8, 7, 4]
↓ ↓
[5, 3] [2, 1] [6, 8] [7, 4]
↓ ↓ ↓ ↓
[5] [3] [2] [1] [6] [8] [7] [4] ← ์ฌ๊ทํจ์ ํ์ถ ์กฐ๊ฑด (๊ธธ์ด 1)
↓ ↓ ↓ ↓
[3, 5] [1, 2] [6, 8] [4, 7] ← ๋ณํฉ ์์
↓ ↓
[1, 2, 3, 5] [4, 6, 7, 8]
↓ (์ต์ข
๋ณํฉ)
[1, 2, 3, 4, 5, 6, 7, 8]
์ฐธ๊ณ >
์ธํ๋ฐ ๊ฐ์ - 2025 ์ฝ๋ฉํ ์คํธ ํ์ ์๊ณ ๋ฆฌ์ฆ
Open API 3.0 Swagger ์ด๋ ธํ ์ด์
์ฌ์ด๋ ํ๋ก์ ํธ ์งํ ์ค, FE์์ ์ด๋ค API์ธ์ง ๋ด์ฉ ์ค๋ช ์ด ์์ผ๋ฉด ์ข๊ฒ ๋ค๋ ํผ๋๋ฐฑ์ด ์์ด์ ์๋ ์ด๋ ธํ ์ด์ ๋ค์ ์ฌ์ฉํด๋ดค๋ค.
@Tag
์ด๋ค `Controller`/`API` ๋ชฉ๋ก๋ค์ธ์ง ๋ํ๋ผ ๋ ํด๋น ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ค.


@Operation
ํด๋น API๊ฐ ์ด๋ค ์ญํ ์ ํ๋์ง ๋ํ๋ผ ๋ ํด๋น ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ค.


์ฐธ๊ณ >
[Spring] OpenApI 3.0 Swagger ๋ฌธ์ ์์ฑ ๋ฐ ์ค์ ๋ฐฉ๋ฒ
๋ค์ด๊ฐ๋ฉฐSwagger ๋ RestDocs ์ ๋นํด ๋จ์ ์ ์ฉ์ ๊ฐํธํ์ง๋ง ๊ธฐ๋ณธ์ ์ธ ์ค์ ๋ง์ผ๋ก ์ฌ์ฉํ๊ธฐ์๋ ์์ฌ์ด ๋ถ๋ถ์ด ์๋ค. ์ด๋ฒ ๊ธ์์๋ Open API 3.0 Swagger ๋ฅผ ์ ์ฉํ ๋ ํ์ํ ๊ฐ๋ ๊ณผ ์กฐ๊ธ ๋ ๋์ ๋ฌธ์
ywoosang.tistory.com
'Today I Learned ๐ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [TIL-20260213] Swagger์์ ์ด๋ฏธ์ง ์ ๋ก๋ ํ ์คํธ (0) | 2026.02.14 |
|---|---|
| [TIL-20260212] ์ฝ๋ฉ ํ ์คํธ ๋ณต์ต - ํ(Tower) ๋ฌธ์ (0) | 2026.02.14 |
| [TIL-20260208] Instant๋ก ํ ํฐ ๋ง๋ฃ ์๋ฐ ์ฌ๋ถ ์ฒดํฌ (0) | 2026.02.08 |
| [TIL-20260206] Duration์ผ๋ก ํ ํฐ ๋ง๋ฃ ์๋ฐ ์ฌ๋ถ ์ฒดํฌ (0) | 2026.02.07 |
| [TIL-20260205] Access Token ์ฌ๋ฐ๊ธ ๊ตฌํ (0) | 2026.02.05 |