์๊ณ ๋ฆฌ์ฆ๋ค ์ค์๋, ์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฒ์ด ์๋ค. ์ด๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ฆ์ด ์๋๋ผ ์ฑ์ง์ด๋ค. ์ฃผ์ด์ง ๋ฌธ์ ๊ฐ ์์ ๋ ์ด๊ฒ์ ๊ฐ์ ์ข ๋ฅ์ ๋ณด๋ค ์ฌ์ด ๋ฌธ์ ์ ๋ต์ ์ด์ฉํด์ ํ ์ ์๋ ์ฑ์ง์ ์ด์ฉํด์ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ณต์ ์ผ๋ก ์ ์ฉํจ์ผ๋ก์จ ํ์ด๋ด๋ ๋ฐฉ๋ฒ์ด๋ค. ์ฌ๊ทํจ์ (recursive functions)๋ ? ํ๋์ ํจ์์์ ์์ ์ ๋ค์ ํธ์ถํ์ฌ ์์ ์ ์ํํ๋ ๊ฒ์ผ๋ก ์๊ฐ๋ณด๋ค ๋ง์ ์ข ๋ฅ์ ๋ฌธ์ ๊ฐ ์ฌ๊ท์ ์ผ๋ก ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ค. # n! ํฉํ ๋ฆฌ์ def what(n): if n = 2 ์ฌ๊ทํจ์ ์์ฑ ์ฐ์ต์ ์๋ํ ๊ฒ์ด๋ฏ๋ก, ์ฌ๊ท์ ๋ฐฉ๋ฒ์ผ๋ก๋ ํ๋ก๊ทธ๋๋ฐํด ๋ณด๊ณ , ๋ฐ๋ณต์ ๋ฐฉ๋ฒ์ผ๋ก๋ ํ๋ก๊ทธ๋๋ฐํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค. def fibonacci(x): if x==0: return 0 elif x==1: retur..
๋ณํฉ์ ๋ ฌ๋ ๋ํ์ ์ธ '๋ถํ ์ ๋ณต' ๋ฐฉ๋ฒ์ ์ฑํํ ์๊ณ ๋ฆฌ์ฆ ํต ์ ๋ ฌ๊ณผ ๋์ผํ๊ฒ O(N * logN)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค. ํต์ ๋ ฌ์ ํผ๋ฒ๊ฐ์ ๋ฐ๋ผ ์ต์ ์ ๊ฒฝ์ฐ O(N^2)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง ์ ์๋๋ฐ ๋ณํฉ์ ๋ ฌ์ ์ ํํ ๋ฐ์ ์ฉ ๋๋๋ค๋ ์ ์์ ์ต์ ์ ๊ฒฝ์ฐ์๋ O(N * logN)์ ๋ณด์ฅํ๋ค. ์ผ๋จ ๋ฐ์ผ๋ก ๋๋๊ณ ๋์ค์ ํฉ์ณ์ ์ ๋ ฌํ์ ๋ณํฉ์ ๋ ฌ์ ํญ์ ๋ฐ์ผ๋ก ๋๋๊ธฐ ๋๋ฌธ์ ํผ๋ฒ๊ฐ์ด ๋ฐ๋ก ์๋ค. ๋ฐ์ผ๋ก ์ชผ๊ฐ๊ธฐ ๋๋ฌธ์ ํญ์ logN์ ๋ณด์ฅํ๋ค. ํฉ์น ๋๋ 2์ ๋ฐฐ์๋งํผ ํฉ์น๋ค. # ๋ณํฉ ์ ๋ ฌ (Merge sort) # ์ ๋ ฌ๋ฐฐ์ด์ ๋ฐ๋์ ์ ์ญ ๋ณ์๋ก ์ ์ธํด์ค์ผํ๋ค. (์ถ๊ฐ์ ์ธ ๋ฐฐ์ด) sortedArr = [] def merge(arr, start, middle, end): # start : m , end : n..
๋ฌธ์ N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ ์ ๋๊ฐ์ด 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ์๋ ์ค๋ณต๋์ง ์๋๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค.
์ ํ ์ ๋ ฌ, ๋ฒ๋ธ ์ ๋ ฌ, ์ฝ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ๋ชจ๋ ์๊ฐ ๋ณต์ก๋ O(N^2)์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ์ปค์ง๋ฉด ์ฌ์ฉํ๊ธฐ๊ฐ ์ด๋ ค์ด ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๊ทธ๋์ ๋์ฑ ๋น ๋ฅธ ์ ๋ ฌ์๊ณ ๋ฆฌ์ฆ์ด ์ฌ์ฉ๋ ํ์๊ฐ ์๋ค. ํต ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ์ ์ธ '๋ถํ ์ ๋ ฌ' ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ๊ท ์๋๊ฐ O(N * logN)์ด๋ค. ํต ์ ๋ ฌ์ ํ๋์ ํฐ ๋ฌธ์ ๋ฅผ ๋๊ฐ์ ์์ ๋ฌธ์ ๋ก ๋ถํ ํ๋ ์์ผ๋ก ๋น ๋ฅด๊ฒ ์ ๋ ฌํ๋ค. ํน์ ํ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํฐ ์ซ์์ ์์ ์ซ์๋ฅผ ์๋ก ๊ตํํ ๋ค์ ๋ฐฐ์ด์ ๋ฐ์ผ๋ก ๋๋๋ค. ํน์ ํ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํฐ ์ซ์์ ์์ ์ซ์๋ฅผ ๋๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํต์ ๋ ฌ์์๋ ๊ธฐ์ค๊ฐ์ด ์๋ค. ์ด๋ฅผ ํผ๋ฒ(Pivot)์ด๋ผ ํ๋ค. ๋ณดํต ๊ฐ์ฅ ์์ ์๋ ๊ฐ์ ํผ๋ฒ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ค. 3 7 8 1 5 9 6 10 2 4 -> 3 2 8 1 5 9 6 10 7 4 ..
๊ฐ ์ซ์๋ฅผ ์ ์ ํ ์์น์ ์ฝ์ ์ํจ๋ค. ๋ค๋ฅธ ์ ๋ ฌ ๋ฐ์๋ค์ ๋ฌด์กฐ๊ฑด ์์น๋ฅผ ๋ฐ๊พธ๋ ๋ฐฉ์์ด์๋ค๋ฉด ์ฝ์ ์ ๋ ฌ์ ํ์ํ ๋๋ง ์์น๋ฅผ ๋ฐ๊พธ๊ฒ ๋๋ค. ํ์ด์ฌ ์ฝ๋ # ์ฝ์ ์ ๋ ฌ (Insertion Sort) def insertion_sort(arr): for i in range(len(arr)-1): # ํ์ฌ ์ ๋ ฌํ ์์๋ฅผ ์ ํํด์ ์ ์ ํ ์์น์ ์ฝ์ ํ ์ ์๋๋ก j = i while arr[j] > arr[j + 1]: temp = arr[j] arr[j] = arr[j + 1] arr[j + 1] = temp j = j-1 return arr test = [1, 10, 5, 8, 7, 6, 4, 3, 2, 9] print("์ ๋ ฌ๋ ๋ฐ์ดํฐ : {}".format(insertion_sort(test))) ๋ฉ์ถ ํฌ์ธํธ๋ฅผ..
์์ ์๋ ๊ฐ๊ณผ ๋น๊ตํด์ ๋ ์์ ๊ฐ์ ์์ผ๋ก ๋ณด๋ธ๋ค. ๋ฒ๋ธ์ ๋ ฌ์ ๊ตฌํ์ ์ฝ์ง๋ง ํจ์จ์ฑ์ด ๊ฐ์ฅ ๋จ์ด์ง๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค ํ์ด์ฌ ์ฝ๋ # ๋ฒ๋ธ์ ๋ ฌ (Bubble Sort) def bubble_sort(arr): # for๋ฌธ ๋ฐฐ์ด์ ํฌ๊ธฐ๋งํผ ๋ฐ๋ณต 0๋ถํฐ len(arr)๋ฏธ๋ง๊น์ง for i in range(len(arr)): for j in range(0, len(arr)-1-i): if arr[j] > arr[j+1]: # ๋๊ฐ์ ๊ฐ ๋ฐ๊พธ๊ธฐ temp = arr[j] arr[j] = arr[j+1] arr[j+1] = temp return arr test = [1, 10, 5, 8, 7, 6, 4, 3, 2, 9] print("์ ํ ์ ๋ ฌ๋ ๋ฐ์ดํฐ : {}".format(bubble_sort(test))) ์๊ฐ๋ณต์ก๋..
๊ฐ์ฅ ์์ ๊ฒ์ ์ ํํด์ ์ ์ผ ์์ผ๋ก ๋ณด๋ธ๋ค. ๋ค์ 10๊ฐ์ ์๋ฅผ ์ค๋ฆ ์ฐจ์์ผ๋ก ์ ๋ ฌํด๋ณด์ 1 10 5 8 7 6 4 3 2 9 ๊ฐ์ฅ ์์ ์ซ์ 1์ ๊ฐ์ฅ ์์ชฝ์ ์์ผ๋ ์ ๋ ฌ์ด ๋ ๊ฒ 1 10 5 8 7 6 4 3 2 9 -> 1 2 5 8 7 6 4 3 10 9 1์ ์ ์ธํ๊ณ ๋๋จธ์ง ์ค์์ ๊ฐ์ฅ ์์ ์ซ์ 2๋ฅผ ๊ฐ์ฅ ์์ ์๋ 10๊ณผ ๋ฐ๊พผ๋ค. 1 2 5 8 7 6 4 3 10 9 -> 1 2 3 8 7 6 4 5 10 9 ๊ทธ ๋ค์ ๊ฐ์ฅ ์์ ์ซ์ 3์ ๊ฐ์ฅ ์์ ์ซ์ 5์ ๋ฐ๊พผ๋ค. ์ด๋ฐ ์์ผ๋ก ์ ๋ ฌ์ ํ๋ ๊ฒ์ด ์ ํ์ ๋ ฌ ํ์ด์ฌ ์ฝ๋ # ์ ํ์ ๋ ฌ (Selection Sort) # i์ j๋ ๋ฐฐ์ด์ ์์๋ค์ ๋ฐ๋ณต์ ์ผ๋ก ํ์ํ๊ธฐ ์ํด ์ฌ์ฉ # min ์ต์๊ฐ ์๋ฏธ # index ๊ฐ์ฅ ์์ ์์๊ฐ ์กด์ฌํ๋ ์์น..
๋ฌธ์ ์ค๋ช ์ ํ ์คํฌ์ด๋ ์ด๋ค ์คํฌ์ ๋ฐฐ์ฐ๊ธฐ ์ ์ ๋จผ์ ๋ฐฐ์์ผ ํ๋ ์คํฌ์ ๋ปํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ ํ ์คํฌ ์์๊ฐ ์คํํฌ → ๋ผ์ดํธ๋ ๋ณผํธ → ์ฌ๋์ผ๋, ์ฌ๋๋ฅผ ๋ฐฐ์ฐ๋ ค๋ฉด ๋จผ์ ๋ผ์ดํธ๋ ๋ณผํธ๋ฅผ ๋ฐฐ์์ผ ํ๊ณ , ๋ผ์ดํธ๋ ๋ณผํธ๋ฅผ ๋ฐฐ์ฐ๋ ค๋ฉด ๋จผ์ ์คํํฌ๋ฅผ ๋ฐฐ์์ผ ํฉ๋๋ค. ์ ์์์ ์๋ ๋ค๋ฅธ ์คํฌ(ํ๋ง ๋ฑ)์ ์์์ ์๊ด์์ด ๋ฐฐ์ธ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์คํํฌ → ํ๋ง → ๋ผ์ดํธ๋ ๋ณผํธ → ์ฌ๋์ ๊ฐ์ ์คํฌํธ๋ฆฌ๋ ๊ฐ๋ฅํ์ง๋ง, ์ฌ๋ → ์คํํฌ๋ ๋ผ์ดํธ๋ ๋ณผํธ → ์คํํฌ → ํ๋ง → ์ฌ๋์ ๊ฐ์ ์คํฌํธ๋ฆฌ๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ ํ ์คํฌ ์์ skill๊ณผ ์ ์ ๋ค์ด ๋ง๋ ์คํฌํธ๋ฆฌ1๋ฅผ ๋ด์ ๋ฐฐ์ด skill_trees๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฐ๋ฅํ ์คํฌํธ๋ฆฌ ๊ฐ์๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ ์กฐ๊ฑด ..
- Total
- Today
- Yesterday
- ๊ฐ๋ฐ
- ๊ฐ๋ฐํ๊ฒฝ๊ตฌ์ถ
- ์ดํด๋ฆฝ์ค ์ค์น
- ์คํ๋ง๋ถํธ ์๋์์ฑ
- ๊ฒ์ํ๋ง๋ค๊ธฐ
- ๊ฒ์๋ฌผ ์ญ์
- ์๋ฐ
- java jdk ์ค์น
- ๋ณ๋ช ์ฒ๋ฆฌ
- ๊ฒ์ํ ์กฐํ
- ์จ๋ฆฌ์์ค
- typeAliases
- tomcat์ค์น
- ๋ถํธ ์๋์์ฑ
- ์ ์ฒด๊ฒ์๋ฌผ ์กฐํ
- ๊ฒ์๋ฌผ์กฐํ
- mysql์ค์น
- ์๋ฃ๊ตฌ์กฐ
- Java
- java ํ๊ฒฝ๋ณ์
- ์๊ณ ๋ฆฌ์ฆ
- Algorithm
- ์ดํด๋ฆฝ์ค ํ๊ธ ์ธ์ฝ๋ฉ
- ๊ฒ์ํ ์ญ์
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |