๊ณ์ ์ ๋ ฌ : ์ฃผ์ด์ง ๋ฐฐ์ด์ ๊ฐ์ ๋ฒ์๊ฐ ์์ ๊ฒฝ์ฐ ๋น ๋ฅธ ์๋๋ฅผ ๊ฐ๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ต๋๊ฐ๊ณผ ์ ๋ ฅ ๋ฐฐ์ด์ ์์ ๊ฐ ๊ฐ์๋ฅผ ๋์ ํฉ์ผ๋ก ๊ตฌ์ฑํ ๋ฐฐ์ด๋ก ์ ๋ ฌ์ ์ํํ๋ค. ์ฐ์ , ์ดํดํ๊ธฐ ์ฝ๊ฒ nums = [5, 9, 3, 6, 9, 5, 2, 10, 1] ์ด๋ผ๋ ๋ฐฐ์ด์ด ์ ๋ ฅ๋์๊ณ , ์ด nums ๋ฐฐ์ด์ ์ ๋ ฌํ๋ค๊ณ ํด๋ณด์. ์นด์ดํ ์ ๋ ฌ์ ๋จ๊ณ 0. ์ ๋ ฌํ nums ๋ฐฐ์ด ์ ๋ ฅ 1. count ๋ฐฐ์ด ์์ฑ - ์ ๋ ฅ๋ nums ๋ฐฐ์ด์ ์ต๋๊ฐ์ ๊ธธ์ด๋ก ๊ฐ๋ count ๋ฐฐ์ด์ ์์ฑํ๋ค. - ๊ฐ ์์๊ฐ nums ๋ฐฐ์ด์ ๋ช ๋ฒ ๋์ค๋์ง ํ์๋ฅผ count ๋ฐฐ์ด์ ๊ธฐ๋กํ๋ค. 2. ์ด์ ๊น์ง์ ๋์ ๊ฐ์๋ฅผ ๊ธฐ๋กํ๋ ๋ฐฐ์ด ์์ฑ(cumCount ๋ฐฐ์ด) - count ๋ฐฐ์ด์์ ๊ฐ ์์๊ฐ ๋ช ๊ฐ์ฉ ๋์ค๋์ง ์ ์ ์์ผ๋ฏ๋ก, - ์ด๋ฅผ ์ด์ฉ..
๊ธฐ์ ์ ๋ ฌ : ์ฃผ์ด์ง ์ ๋ค๊ฐ์ ๋น๊ต๋ฅผ ํ์ง ์๊ณ ๋ฒํท์ ์ฌ์ฉํด ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก, ๋ฎ์ ์๋ฆฌ(1์ ์๋ฆฌ)์์ ๋์ ์๋ฆฌ(10^n ์๋ฆฌ) ์์ผ๋ก ๋ฒํท์ ๋ฃ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ ๋ ฌํ๋ค. ์ค์ ๋ก ์ซ์๋ค ๊ฐ์ ๋น๊ต๋ฅผ ํตํด ์ ๋ ฌ์ ํ๋ ๊ฒ์ด ์๋, 0~9๊น์ง์ ๋ฒํท์ด ์๊ณ ์ด ๋ฒํท์ ์ซ์๋ฅผ ๋ฃ์ด๊ฐ๋ฉฐ ๋ถ๋ฅํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. ์๊ฐ๋ณต์ก๋ O(r*n) : r์ ์ซ์์ ์๋ฆฟ์, n์ ์ ๋ ฌ๋ ์์ ๊ฐฏ์ ํน์ง 1. ์๊ฐ ๋ณต์ก๋์์ ์์ฒญ๋ ์ด์ ์ ๊ฐ๋๋ค. ๋ฌด๋ ค O(N).. 2. ํ์ง๋ง ๊ทธ๋งํผ ์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ง์ด ํ์ํ๋ค. [153, 262, 37, 598, 433, 855]๋ฅผ ๊ธฐ์ ์ ๋ ฌ์ ์ด์ฉํด ์ ๋ ฌํด๋ณด์. ๊ฐ์ฅ ๋ฎ์ 1๋ฒ์งธ ์๋ฆฌ๋ถํฐ(1์ ์๋ฆฌ) ๊ฐ์ฅ ๋์ 3๋ฒ์งธ ์๋ฆฌ(100์ ์๋ฆฌ) ์์ผ๋ก ์ ๋ ฌํ๋ค. ๋ค์๊ณผ ๊ฐ์ด 0~9 ๊น..
ํ ์ ๋ ฌ : ๊ธฐ๋ณธ ์์ด๋์ด๋ ๋ฒ๋ธ ์ ๋ ฌ๊ณผ ๋น์ทํ๋ค. 1๋ฑ์ ๋ฝ์๋ด๊ณ , ๋๋จธ์ง ์์์์ 1๋ฑ์ ๊ณ์ ๋ฝ์๋ด๋ฉฐ ์ ๋ ฌํ๋ค. ๋ฒ๋ธ ์ ๋ ฌ๊ณผ ๋ค๋ฅธ ์ ์, ๋ฒ๋ธ ์ ๋ ฌ์ ๋จ์ ์์์์ 1๋ฑ์ ๋ค์ ๋น๊ต๋ฅผ ํตํด ์ฐพ์์ผ ํ์ง๋ง ํ ์ ๋ ฌ์ ํ(Heap)์ ์ด์ฉํ๋ฉด, 1๋ฑ์ ๋ฝ์๋ธ ๋ค, ๋๋จธ์ง ์์์์ 1๋ฑ์ ๋ฝ์ ๋ ๋ค์ ๋น๊ตํ ํ์ ์์ด 2๋ฑ์ด ์๋์ผ๋ก 1๋ฑ์ด ๋๋ค. ๊ทธ๋ผ, ํ(Heap)์ ๋ํด ์ ๊น ์์๋ณด์. ํ์ ์ฑ์ง 1. ๋ฆฌํ ๋ ธ๋๋ฅผ ์ ์ธํ ๋ชจ๋ ๋ ธ๋๋ ์์์ด ๋ฐ๋์ 2๋ช 2. Max heap: ๋ถ๋ชจ๋ ์์๋ณด๋ค ๋ฐ๋์ ํฌ๋ค. Min heap: ๋ถ๋ชจ๋ ์์๋ณด๋ค ๋ฐ๋์ ์๋ค. ํ์ ์ฝ์ ๊ณผ ์ญ์ (์ถ์ฒ: https://guides.codepath.com/compsci/Heaps) ์, ์ด์ ํ ์ ๋ ฌ์ ๋ํด ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ค์ด..
ํต ์ ๋ ฌ : ํน์ ๊ธฐ์ค ์์๋ฅผ ์ค์ฌ์ผ๋ก, ๊ธฐ์ค ์์๋ณด๋ค ์์ ๊ฒ๋ค์ ๊ธฐ์ค์ ์ผ์ชฝ์ผ๋ก, ๊ธฐ์ค ์์๋ณด๋ค ํฐ ๊ฒ๋ค์ ๊ธฐ์ค์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ ๋ ฌ + ์ฌ๊ท์ ์ผ๋ก ๋ถํ ์ ๋ณต ๊ธฐ๋ฒ ์ฌ์ฉ. ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด๊ธฐ๋ ํ๋ค. ํต์ฌ ์๋ฆฌ๋ฅผ ์ฝ๊ฒ ์ดํดํ ์ ์๋ Python ์ฝ๋ def quicksort(L): if(len(L) == 1) or (len(L) == 0): return L pivot = L[0] left = [] right = [] for x in L[1:]: if (x < pivot): left.append(x) else: right.append(x) return quicksort(left) + [pivot] + quicksort(right) ์์ ์ฝ๋๋ ๊ธฐ์ค ์ ์ ์ฃผ์ด์ง ๋ฐฐ์ด์ 0๋ฒ์งธ ์ธ๋ฑ์ค, ์ฆ ..
์ ํ ์ ๋ ฌ: ์ด n๊ฐ์ ์์๊ฐ ์์ ๋, 0๋ฒ์งธ ์์๋ถํฐ n-1 ๋ฒ์งธ ์์๊น์ง i ๋ฒ์งธ ์์๋ถํฐ ๋ง์ง๋ง ์์๊น์ง ์ต์๊ฐ์ ๊ฐ๋ ์์์ i ๋ฒ์งธ ์์๋ฅผ swapํด์ฃผ๋ ์ ๋ ฌ. ๋ฒ๋ธ ์ ๋ ฌ๊ณผ ๋ฌ๋ฆฌ ํ Cycle ๋ด์์ ํ ๋ฒ๋ง swap(๊ตํ)์ด ์ผ์ด๋๋ค. ์๊ฐ๋ณต์ก๋: Θ(n^2) ์ ํ ์ ๋ ฌ ์ ํ ์ ๋ ฌ Python ์ฝ๋ def selectionSort(): nums = list(map(int, input().split(' '))) for i in range(0, len(nums)): min_num = nums[i] min_idx = i for j in range(i+1, len(nums)): if(nums[j] < min_num): min_num = nums[j] min_idx = j nums[min_idx] =..
- Total
- Today
- Yesterday
- state
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ์ด์ฌ
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฃ๊ตฌ์กฐ
- React Query
- CSS
- DB
- ์๋ฌ
- ์๋ฐ์คํฌ๋ฆฝํธ
- mdn
- Component
- ๋ฆฌ์กํธ
- zustand
- Python
- react
- git
- github
- leetcode
- DOM
- ์ ๋ ฌ
- ๋ธ๋ผ์ฐ์
- BOJ
- ๊ทธ๋ํ
- JavaScript
- error
- ํจ์
- Context API
- useState
- Browser
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |