ํฌ ํฌ์ธํฐ
๋ฐฐ์ด์ด๋ ๋ฆฌ์คํธ๋ฅผ ํ์ํ ๋, ๋ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํจ์จ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฒ์ด๋ค. ์ฃผ๋ก ์ ๋ ฌ๋ ๋ฐฐ์ด์์ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ์ ์ฐพ๊ฑฐ๋, ๊ตฌ๊ฐ ํฉ์ ๊ณ์ฐํ๋ ๋ฌธ์ ๋ฑ์ ์ฌ์ฉ๋๋ค.
- ํจ์จ์ : ์ ๋ ฌ๋ ๋ฐฐ์ด์์ ํ์ ์ O(n) ์ผ๋ก ํด๊ฒฐ ๊ฐ๋ฅ
- ๊ฐ๋จํ ๊ตฌํ : ํฌ์ธํฐ ์ด๋๋ง์ผ๋ก ๋ฌธ์ ํด๊ฒฐ
ํฌ ํฌ์ธํฐ ๊ฐ๋
- ํฌ์ธํฐ(Pointer) : ๋ฐฐ์ด์ ํน์ ์ธ๋ฑ์ค๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ณ์
- ๋ ๊ฐ์ ํฌ์ธํฐ๋ฅผ ๋ฐฐ์ด์ ์ ๋ ๋๋ ํน์ ์์์ ๊ณผ ๋์ ์ ๋๊ณ , ํฌ์ธํฐ๋ฅผ ์ด๋์ํค๋ฉฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ
์ฌ์ฉ ์กฐ๊ฑด
- ๋ฐฐ์ด์ด ์ ๋ ฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๋
- ํน์ ๊ตฌ๊ฐ์ด๋ ๋ ๊ฐ์ ํฉ์ ๊ณ์ฐํ ๋ ํจ์จ์ ์ผ๋ก ํ์ํ ํ์๊ฐ ์์ ๋
๋ํ์ ์ธ ๋์ ๋ฐฉ์

- ์์๊ณผ ๋ ํฌ์ธํฐ ์ฌ์ฉ (์ ๋์์ ์ด๋)
- ๋ฐฐ์ด์ ๊ฐ์ฅ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ๋์ ํฌ์ธํฐ๋ฅผ ๋ ๋ค, ์กฐ๊ฑด์ ๋ฐ๋ผ ํฌ์ธํฐ๋ฅผ ์ขํ๋๊ฐ๋ฉฐ ๋ฌธ์ ํด๊ฒฐ
- ์ : ๋ ์์ ํฉ์ด ํน์ ๊ฐ์ธ์ง ํ์ธ
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ (ํ์ชฝ ๋ฐฉํฅ์ผ๋ก ์ด๋)
- ๋ ํฌ์ธํฐ๋ฅผ ๋ฐฐ์ด์ ์์์ ์ ๋๊ณ , ํ์ชฝ ๋ฐฉํฅ์ผ๋ก ํ์ฅํ๊ฑฐ๋ ์ถ์ํ๋ฉฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ
- ์ : ํน์ ๊ธธ์ด์ ๊ตฌ๊ฐ์์ ์ต๋/์ต์ ํฉ์ ๊ตฌํ๋ ๋ฌธ์
์ข ๋ฃ ์กฐ๊ฑด
- start ๊ฐ end ๋ณด๋ค ์ปค์ง ๋, ์ด๋ฏธ ํ์ํ ๊ฑธ ๋ค์ ํ์ํ๊ฒ ๋๋ฏ๋ก ์ข ๋ฃ์ํจ๋ค.

ํฌ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฌธ์ ์ ํ
- ๋ ์์ ํฉ (Two Sum)
- ํน์ ๊ตฌ๊ฐ์ ํฉ (Subarray Sum)
- ๋ ๋ฐฐ์ด ๋น๊ต
- ์ต์ ์ ์ง์ง๊ธฐ ๋ฌธ์ (์: ๊ตฌ๋ช ๋ณดํธ ๋ฌธ์ )
[ํ๋ก๊ทธ๋๋จธ์ค ๊ตฌ๋ช ๋ณดํธ ๋ฌธ์ ] ๐
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
[๊ตฌ๋ช ๋ณดํธ ๋ฌธ์ ํ์ด ์ ๋ฆฌ] ๐
[Programmers] L2. ๊ตฌ๋ช ๋ณดํธ (Python/ํฌ ํฌ์ธํฐ)
[๋ฌธ์ ๋งํฌ] ๐ ํ๋ก๊ทธ๋๋จธ์คSW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํprogrammers.co.krํ์ด ๋ฐฉ๋ฒ1๏ธโฃ ์ ๋ ฌ (O(nlogโกn)์๊ฐ) ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ
dev-cloud.tistory.com
'๐งฉ Algorithm > ๊ฐ๋ ๋ฐ ์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Algorithm] ์ต์ ํ(Min Heap) (3) | 2024.11.16 |
|---|---|
| [์๊ณ ๋ฆฌ์ฆ] DP (Dynamic Programming, ๋์ ๊ณํ๋ฒ) (0) | 2023.09.25 |
| [์๊ณ ๋ฆฌ์ฆ] ์๋ผํ ์คํ ๋ค์ค์ ์ฒด (1) | 2023.09.23 |
| [์๊ณ ๋ฆฌ์ฆ] BFS/DFS ์๊ณ ๋ฆฌ์ฆ (๊ทธ๋ํ ํ์) (0) | 2023.05.15 |
| Greedy (๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ) (0) | 2023.05.07 |