์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 31 |
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- SQL
- dfs
- BFS
- Swift
- SwiftUI Tutorials
- SwiftUI ํํ ๋ฆฌ์ผ
- ๊ธฐ์ด๋ฌธ๋ฒ
- algorithm
- APPJAM
- duno
- 0์ด๋์ด์๋๊ธธ
- Til
- GCD
- IOS
- ์ด์งํ์
- ๋์ ๊ณํ๋ฒ
- algoritm
- GroupBy
- ๊ณ ๋์ kit
- ์ฐ์ํ์ค๋ถ๋ถ์์ด์ํฉ
- HAVIT
- concurrency
- SOPT
- discardableResult
- SwiftUI
- DynamicProgramming
- binarySearch
- URLSession
- ํ๋ก๊ทธ๋๋จธ์ค
- Today
- Total
suvera-dev ๐ฅฆ
Algorithm) Sorting ๋ณธ๋ฌธ
๐ ์ ๋ ฌ ? ๋ฐ์ดํฐ๋ฅผ ํน์ ํ ๊ธฐ์ค์ ๋ฐ๋ผ์ ์์๋๋ก ๋์ดํ๋ ๊ฒ !
- ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๋ฉด ์ด์งํ์์ด ๊ฐ๋ฅํด์ง ! ์ด์งํ์์ ์ ์ฒ๋ฆฌ ๊ณผ์
- ์ ํ ์ ๋ ฌ, ์ฝ์ ์ ๋ ฌ, ํต ์ ๋ ฌ, ๊ณ์ ์ ๋ ฌ ๋ฑ์ด ์๋ค
* ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์์ ๋ฅผ ์ค๋ช , ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ์ํํ ๋ค ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ง๊ธฐํ์ฌ ๋ง๋ค์ ์๋ฐ
1. ์ ํ์ ๋ ฌ
- ๋ฐ์ดํฐ๊ฐ ๋ฌด์์๋ก ์ฌ๋ฌ๊ฐ ์๋ค๋ฉด, ์ด ์ค์์ ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ํํด ๋งจ ์์ ์๋ ๋ฐ์ดํฐ์ ๋ฐ๊พธ๊ณ ๊ทธ ๋ค์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ํํด ์์์ ๋ ๋ฒ์จฐ ๋ฐ์ดํฐ์ ๋ฐ๊พธ๋ ๊ณผ์ ์ ๋ฐ๋ณต ! => ๋งค๋ฒ ๊ฐ์ฅ ์์ ๊ฒ์ ์ ํ ํ๋ค !
- ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ฅผ ์์ผ๋ก ๋ณด๋ด๋ ๊ณผ์ ์ N-1๋ฒ ๋ฐ๋ณตํ๋ฉด ์ ๋ ฌ์ด ์๋ฃ ๋๋ค !
array = [7,5,9,0,3,1,6,2,4,8]
for i in range(len(array)):
min_index = i # ๊ฐ์ฅ ์์ ์์์ ์ธ๋ฑ์ค
for j in range(i+1, len(array)):
if array[min_index] > array[j]:
min_index = j
array[i], array[min_index] = array[min_index], array[i]
print(array)
- ์ค์ํ : ํน์ ํ ๋ฆฌ์คํธ๊ฐ ์ฃผ์ด์ก์ ๋ ๋ ๋ณ์์ ์์น๋ฅผ ๋ณ๊ฒฝํ๋ ์์
- ํ์ด์ฌ์๋ ์์ฒ๋ผ ๊ฐ๋จํ ๋ฆฌ์คํธ ๋ด ๋ ์์์ ์์น๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค !
๐ ์ ํ ์ ๋ ฌ์ ์๊ฐ ๋ณต์ก๋
- ์ ํ ์ ๋ ฌ์ N-1 ๋ฒ ๋งํผ ๊ฐ์ฅ ์์ ์๋ฅผ ์ฐพ์์ ๋งจ ์์ผ๋ก ๋ณด๋ด์ผํ๋ค.
- ๋งค๋ฒ ๊ฐ์ฅ ์์ ์๋ฅผ ์ฐพ๊ธฐ ์ํด์ ๋น๊ต ์ฐ์ฐ ํ์ : N + N -1 + N -2 ... + 2
- ๋น ์ค ํ๊ธฐ๋ฒ์ผ๋ก ๊ฐ๋จํ O(N^2)
2. ์ฝ์ ์ ๋ ฌ
- ํน์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ์์น์ '์ฝ์ ' ํ๋ค๋ ์๋ฏธ
- ๋ฐ์ดํฐ๊ฐ ๊ฑฐ์ ์ ๋ ฌ๋์ด ์์ ๋ ํจ์ฌ ํจ์จ์
array = [7,5,9,0,3,1,6,2,4,8]
for i in range(1, len(array)):
for j in range(i, 0, -1): # ์ธ๋ฑ์ค i ๋ถํฐ 1๊น์ง ๊ฐ์ํ๋ฉฐ ๋ฐ๋ณตํ๋ ๋ฌธ๋ฒ
if array[j] < array[j-1]: # ํ ์นธ์ฉ ์ผ์ชฝ์ผ๋ก ์ด๋
array[j], array[j-1] = array[j-1], array[j]
else:
break
print(array)
๐ ์ฝ์ ์ ๋ ฌ์ ์๊ฐ ๋ณต์ก๋
- O(N^2) : ์ ํ ์ ๋ ฌ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐ๋ณต๋ฌธ์ด 2๋ฒ ์ค์ฒฉ๋์ด ์ฌ์ฉ๋จ
3. ํต ์ ๋ ฌ
- ์ง๊ธ๊น์ง ๋ฐฐ์ด ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ค์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ
- ๊ธฐ์ค ๋ฐ์ดํฐ๋ฅผ ์ค์ ํ๊ณ ๊ทธ ๊ธฐ์ค๋ณด๋ค ํฐ ๋ฐ์ดํฐ์ ์์๋ฐ์ดํฐ์ ์์น๋ฅผ ๋ฐ๊พธ์ !
- ํผ๋ฒ์ด ์ฌ์ฉ๋๋ค. ํฐ ์ซ์์ ์์ ์ซ์๋ฅผ ๊ตํํ ๋, ๊ตํํ๊ธฐ ์ํ ๊ธฐ์ค์ด ํผ๋ฒ !
- ํต ์ ๋ ฌ์ ์ํํ๊ธฐ ์ ์๋ ํผ๋ฒ์ ์ด๋ป๊ฒ ์ค์ ํ ๊ฒ์ธ์ง ๋ฏธ๋ฆฌ ๋ช ์ํด์ผ ํ๋ค.
- ํผ๋ฒ์ ์ค์ ํ๊ณ ๋ฆฌ์คํธ๋ฅผ ๋ถํ ํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ์ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ์์ผ๋ก ๊ตฌ๋ถํ๋๋ฐ, ๊ฐ์ฅ ๋ํ์ ์ธ ๋ถํ ๋ฐฉ์์ ํธ์ด ๋ถํ ๋ฐฉ์ !
* ํธ์ด ๋ถํ ๋ฐฉ์ : ๋ฆฌ์คํธ์์ ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ํผ๋ฒ์ผ๋ก ์ ํ๋ค.
=> 5 7 9 0 3 1 6 2 4 8
ํํธ 1
1) ๋ฆฌ์คํธ์ ์ฒซ๋ฒ์งธ ๋ฐ์ดํฐ : ํผ๋ฒ - 5
2) ์ดํ ์ผ์ชฝ์์๋ถํฐ 5๋ณด๋ค ํฐ ๋ฐ์ดํฐ ์ ํ : 7
3) ์ค๋ฅธ์ชฝ์์ ๋ถํฐ 5๋ณด๋ค ์์ ๋ฐ์ดํฐ ์ ํ : 4
4) ์์น ๋ฐ๊พธ๊ธฐ : 5 4 9 0 3 1 6 2 7 8
5) ๋ค์ ๋ค์ ํผ๋ฒ๋ณด๋ค ํฐ ๋ฐ์ดํฐ : 9
6) ๋ค์ ํผ๋ฒ๋ณด๋ค ์์ ๋ฐ์ดํฐ : 2
7) ๋ณ๊ฒฝ : 5 4 2 0 3 1 6 9 7 8
8) ๋ค์ ํผ๋ฒ๋ณด๋ค ํฐ๋ฐ์ดํฐ : 6
9) ๋ค์ ํผ๋ฒ๋ณด๋ค ์์ ๋ฐ์ดํฐ : 1
10) ์๋ก ์๊ฐ๋ ธ๊ธฐ ๋๋ฌธ์ ํผ๋ฒ๋ณด๋ค ์์ ๋ฐ์ดํฐ์ ํผ๋ฒ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝ
1 4 2 0 3 5 6 9 7 8 : ๋ถํ ์๋ฃ => ํผ๋ฒ5๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ์ ๋ชจ๋ 5๋ณด๋ค ์๊ณ ์ค๋ฅธ์ชฝ์ ๋ชจ๋ 5๋ณด๋ค ํฌ๋ค๋ ํน์ง์ด ์๋ค.
์ด๋ ๊ฒ ํผ๋ฒ์ ์ผ์ชฝ์๋ ํผ๋ฒ๋ณด๋ค ์์ ๋ฐ์ดํฐ๊ฐ ์์นํ๊ณ , ํผ๋ฒ์ ์ค๋ฅธ์ชฝ์๋ ํผ๋ฒ๋ณด๋ค ํฐ ๋ฐ์ดํฐ๊ฐ ์์นํ๋๋ก ํ๋ ์์ ์ ๋ถํ ํน์ ํํฐ์ ์ด๋ผ๊ณ ํ๋ค.
ํํธ 2
์์ ์ํ์์ ์ผ์ชฝ ๋ฆฌ์คํธ์ ์ค๋ฅธ์ชฝ ๋ฆฌ์คํธ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ ๋ ฌ์์ผ๋ณด์.
์ผ์ชฝ ๋ฆฌ์คํธ์์๋ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ์ ๋ ฌํ๋ค 1 4 2 0 3 -> 1 0 2 4 3 -> 0 1 2 4 3 -> 0 1 2 3 4
ํํธ 3
์ค๋ฅธ์ชฝ ๋ฆฌ์คํธ์์๋ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ์ ๋ ฌ : 6 9 7 8 -> 6 8 7 9 -> 6 7 8 9
โ๏ธ ํต์ ๋ ฌ์์๋ ์ด์ฒ๋ผ ํน์ ํ ๋ฆฌ์คํธ์์ ํผ๋ฒ์ ์ค์ ํ์ฌ ์ ๋ ฌ์ ์ํํ ์ดํ์, ํผ๋ฒ์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ๋ฆฌ์คํธ์ ์ค๋ฅธ์ชฝ ๋ฆฌ์คํธ์์ ๊ฐ๊ฐ ๋ค์ ์ ๋ ฌ์ ์ํ ! ์ฌ๊ทํจ์์ ๋์์๋ฆฌ๊ฐ ๊ฐ์ต๋๋น ! ๊ทธ๋ ๋ค๋ ๊ฒ์, ์ข ๋ฃ ์กฐ๊ฑด์ด ์์ด์ผ ํ ๊ฒ
โ๏ธ ํต ์ ๋ ฌ์ ์ข ๋ฃ ์กฐ๊ฑด์ ? ํ์ฌ ๋ฆฌ์คํธ์ ๋ฐ์ดํฐ ๊ฐ์๊ฐ 1๊ฐ์ธ ๊ฒฝ์ฐ . ๋ฆฌ์คํธ์ ์์๊ฐ 1๊ฐ๋ผ๋ฉด, ์ด๋ฏธ ์ ๋ ฌ์ด ๋์ด์๋ค๊ณ ๊ฐ์ฃผํ ์ ์์ผ๋ฉฐ ๋ถํ ์ด ๋ถ๊ฐ๋ฅํ๋ค.
array = [5,7,9,0,3,1,6,2,4,8]
def quick_sort(array, start, end):
if start >= end: # ์์๊ฐ 1๊ฐ์ธ ๊ฒฝ์ฐ ์ข
๋ฃ
return
pivot = start
left = start + 1
right = end
while left <= right:
# ํผ๋ฒ๋ณด๋ค ํฐ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ๋๊น์ง ๋ฐ๋ณต
while left <= end and array[left] <= array[pivot]:
left += 1
# ํผ๋ฒ๋ณด๋ค ์์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ์ ๋๊น์ง ๋ฐ๋ณต
while right > start and array[right] >= array[pivot]:
right -= 1
if left > right: # ์๊ฐ๋ ธ๋ค๋ฉด ์์ ๋ฐ์ดํฐ์ ํผ๋ฒ์ ๊ต์ฒด
array[right], array[pivot] = array[pivot], array[right]
else: # ์๊ฐ๋ฆฌ์ง ์์๋ค๋ฉด ์์ ๋ฐ์ดํฐ์ ํฐ ๋ฐ์ดํฐ ๊ต์ฒด
array[left], array[right] = array[right], array[left]
# ๋ถํ ์ดํ ์ผ์ชฝ ๋ถ๋ถ๊ณผ ์ค๋ฅธ์ชฝ ๋ถ๋ถ์์ ๊ฐ๊ฐ ์ ๋ ฌ ์ํ
quick_sort(array, start, right - 1)
quick_sort(array, right + 1, end)
quick_sort(array, 0 , len(array) - 1)
print(array)
array2 = [5,7,9,0,3,1,6,2,4,8]
def quick_sort(array):
# ๋ฆฌ์คํธ๊ฐ ํ๋ ์ดํ์ ์์๋ง์ ๋ด๊ณ ์๋ค๋ฉด ์ข
๋ฃ
if len(array) <= 1:
return array
pivot = array[0] # ํผ๋ฒ์ ์ฒซ ๋ฒ์งธ ์์
tail = array[1:] # ํผ๋ฒ์ ์ ์ธํ ๋ฆฌ์คํธ
left_side = [x for x in tail if x <= pivot] # ๋ถํ ๋ ์ผ์ชฝ ๋ถ๋ถ
right_side = [x for x in tail if x > pivot] # ๋ถํ ๋ ์ค๋ฅธ์ชฝ ๋ถ๋ถ
# ๋ถํ ์ดํ ์ผ์ชฝ ๋ถ๋ถ๊ณผ ์ค๋ฅธ์ชฝ ๋ถ๋ถ์์ ๊ฐ๊ฐ ์ ๋ ฌ์ ์ํํ๊ณ , ์ ์ฒด ๋ฆฌ์คํธ๋ฅผ ๋ฐํ
return quick_sort(left_side) + [pivot] + quick_sort(right_side)
print(quick_sort(array))
- ํ์ด์ฌ์ ์ฅ์ ์ ์ด๋ฆฐ ํต ์ ๋ ฌ ์์ค์ฝ๋
๐ ํต ์ ๋ ฌ์ ์๊ฐ ๋ณต์ก๋
- O(NlogN)
4. ๊ณ์ ์ ๋ ฌ
- ํน์ ํ ์กฐ๊ฑด์ด ๋ถํฉํ ๋๋ง ์ฌ์ฉํ ์ ์์ง๋ง ๋งค์ฐ ๋น ๋ฅธ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ
- ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์์ ์ ์์ธ ์ํฉ์ ๊ฐ์ ํด๋ณด์. ๋ฐ์ดํฐ์ ๊ฐ์๊ฐ N, ๋ฐ์ดํฐ ์ค ์ต๋๊ฐ์ด k ์ผ๋, ๊ณ์์ ๋ ฌ์ ์ต์ ์ ๊ฒฝ์ฐ์๋ ์ํ ์๊ฐ O(N+K) ๋ฅผ ๋ณด์ฅํ๋ค.
- ๋ค๋ง, ๋ฐ์ดํฐ์ ํฌ๊ธฐ ๋ฒ์๊ฐ ์ ํ๋์ด ์ ์ ํํ๋ก ํํํ ์ ์์ ๋๋ง ์ฌ์ฉํ ์ ์๋ค
- ๋ฐ์ดํฐ์ ๊ฐ์ด ๋ฌดํํ ๋ฒ์๋ฅผ ๊ฐ์ง ์ ์๋ ์ค์ํ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ ๊ณ์์ ๋ ฌ์ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค.
- ์๋ฅผ ๋ค์ด, 0์ด์ 100์ดํ์ธ ์ฑ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ ๋ ๊ณ์์ ๋ ฌ์ด ํจ๊ณผ์ ์ด๋ค !
- ๋ค๋ง, ๊ฐ์ฅ ํฐ ๋ฐ์ดํฐ์ ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ์ ์ฐจ์ด๊ฐ ๋๋ฌด ํฌ๋ค๋ฉด ์ฌ์ฉํ ์ ์๋ค.
- ์? ๊ณ์ ์ ๋ ฌ์ ์ด์ฉํ ๋์๋ ๋ชจ๋ ๋ฒ์๋ฅผ ๋ด์ ์ ์๋ ํฌ๊ธฐ์ ๋ฆฌ์คํธ๋ฅผ ์ ์ธํด์ผํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๋ณ๋์ ๋ฆฌ์คํธ๋ฅผ ์ ์ธํ๊ณ ๊ทธ ์์ ์ ๋ ฌ์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๋๋ค !
1) ๊ฐ์ฅ ํฐ ๋ฐ์ดํฐ์ ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ณ , ๋ฆฌ์คํธ์ ์ธ๋ฑ์ค๊ฐ ๋ชจ๋ ๋ฒ์๋ฅผ ํฌํจํ ์ ์๋๋กํ๋ค.
2) ๋ฆฌ์คํธ๋ฅผ 0์ด ๋๋๋ก ์ด๊ธฐํํ๋ค.
3) ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ํ์ธํ๋ฉฐ ๋ฐ์ดํฐ์ ๊ฐ๊ณผใ ๋์ผํ ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ๋ฅผ 1์ฉ ์ฆ๊ฐ์ํค๋ฉด ๊ณ์ ์ ๋ ฌ ์๋ฃ !
4) ์์๋๋ก ์ถ๋ ฅ
# ๋ชจ๋ ์์์ ๊ฐ์ด 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค๊ณ ๊ฐ์
array = [7,5,9,0,3,1,6,2,9,1,4,8,0,5,2]
# ๋ชจ๋ ๋ฒ์๋ฅผ ํฌํจํ๋ ๋ฆฌ์คํธ ์ ์ธ - 0์ผ๋ก ์ด๊ธฐํ
count = [0] * (max(array)+1)
for i in range(len(array)):
count[array[i]] += 1 # ๊ฐ ๋ฐ์ดํฐ์ ํด๋นํ๋ ์ธ๋ฑ์ค์ ๊ฐ ์ฆ๊ฐ
for i in range(len(count)): # ๋ฆฌ์คํธ์ ๊ธฐ๋ก๋ ์ ๋ ฌ ์ ๋ณด ํ์ธ
for j in range(count[i]):
print(i, end=' ') # ๋์ด์ฐ๊ธฐ๋ฅผ ๊ตฌ๋ถ์ผ๋ก ๋ฑ์ฅํ ํ์๋งํผ ์ธ๋ฑ์ค ์ถ๋ ฅ
๐ ํต ์ ๋ ฌ์ ์๊ฐ ๋ณต์ก๋
- O(N + K)
** ๊ณ์์ ๋ ฌ์ ๋์ ๋ฐ๋ผ์ ์ฌ๊ฐํ ๋นํจ์จ์ฑ์ ์ด๋ํ ์ ์๋ค. ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ํ์ ๋์ด์๊ณ , ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ๋ง์ด ์ค๋ณต๋์ด ์์์๋ก ์ ๋ฆฌํ๋ฉฐ ํญ์ ์ฌ์ฉํ ์๋ ์๋ค.
ํ์ด์ฌ์ ์ ๋ ฌ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ํ์ด์ฌ์ ๊ธฐ๋ณธ ์ ๋ ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ sorted() ํจ์๋ฅผ ์ ๊ณตํ๋ค.
- sorted()๋ ํต ์ ๋ ฌ๊ณผ ๋์๋ฐฉ์์ด ๋น์ทํ ๋ณํฉ ์ ๋ ฌ์ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง !
- array.sort() : ๋ณ๋์ ์ ๋ ฌ๋ ๋ฆฌ์คํธ๊ฐ ๋ฐํ๋์ง ์๊ณ ๋ด๋ถ ์์๊ฐ ๋ฐ๋ก ์ ๋ ฌ
- sorted() ๋ sort()๋ฅผ ์ด์ฉํ ๋์๋ key ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ์ ์๋ค. key ๊ฐ์ผ๋ก๋ ํ๋์ ํจ์๊ฐ ๋ค์ด๊ฐ์ผํ๋ฉฐ ์ด๋ ์ ๋ ฌ ๊ธฐ์ค์ด ๋๋ค !
array = [('๋ฐ๋๋',2), ('์ฌ๊ณผ',5), ('๋น๊ทผ',3)]
def setting(data):
return data[1]
result = sorted(array, key=setting)
print(result)
# [('๋ฐ๋๋',2), ('๋น๊ทผ',3), ('์ฌ๊ณผ',5)]
- ์๊ฐ๋ณต์ก๋ : O(NlogN)
์ฝํ ์์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ 3๊ฐ์ง !
1. ์ ๋ ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํ ์ ์๋ ๋ฌธ์
2. ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ์๋ฆฌ์ ๋ํด์ ๋ฌผ์ด๋ณด๋ ๋ฌธ์
3. ๋ ๋น ๋ฅธ ์ ๋ ฌ์ด ํ์ํ ๋ฌธ์
'Algorithm > CodingTest - Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Algorithm) Binary Search (0) | 2022.04.07 |
---|---|
Algorithm) Sorting ๊ธฐ๋ณธ๋ฌธ์ (0) | 2022.04.07 |
Algorithm) DFS/BFS ์ค์ ๋ฌธ์ (0) | 2022.04.02 |
Algorithm) DFS/BFS (0) | 2022.04.02 |
Algorithm) ์๋ฃ๊ตฌ์กฐ ๊ธฐ์ด (Feat. DFS์ BFS์ ๋ค์ด๊ฐ๊ธฐ ์ ..) (1) | 2022.04.01 |