๐๏ธ ์ฝ๋ฉ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ํ 10๊ฐ์ง
1๏ธโฃ ์ฃผ์ด์ง ์ ๋ ฅ์ด ์ ๋ ฌ๋ ๋ฐฐ์ด ๋๋ ๋ฆฌ์คํธ์ธ ๊ฒฝ์ฐ, Binary Search ํน์ Two Pointer๋ฅผ ์ฌ์ฉํฉ๋๋ค. 2๏ธโฃ 'N'๊ฐ์ ์์๋ค ์ค์์ ์์/์ต๋/์ต์ 'K' ๋ฒ์งธ ์์๋ฅผ ์ฐพ์ ๋ Heap ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. 3๏ธโฃ ๋ฐฐ์ด์ ๊ด๋ จ๋ ๋ฌธ์ ์ผ ๊ฒฝ์ฐ, ๋ค์ ๋ ๊ฐ์ง ๋ฐฉ์์ด ์กด์ฌํฉ๋๋ค. - ์๊ฐ ๋ณต์ก๋ O(n), ๊ณต๊ฐ ๋ณต์ก๋ O(n): HashMap์ด๋ Set ์ฌ์ฉ - ์๊ฐ ๋ณต์ก๋ O(nlogn), ๊ณต๊ฐ ๋ณต์ก๋ O(1): ์ ๋ ฌ ์ฌ์ฉ 4๏ธโฃ ๋ชจ๋ ์ฌ๊ท ํด๊ฒฐ๋ฒ์ Stack์ ์ด์ฉํ ๋ฐฉ๋ฒ์ผ๋ก ์ ํํ ์ ์์ต๋๋ค. 5๏ธโฃ ๋ชจ๋ ์กฐํฉ(๋๋ ์์ด)์ ์๋ํด์ผ ํ ๊ฒฝ์ฐ, Backtracking ๋๋ BFS๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. 6๏ธโฃ ๋ฌธ์ ๊ฐ ์ต์ ํ(์ต๋ํ ๋๋ ์ต์ํ)๋ฅผ ์๊ตฌํ๋ ๊ฒฝ์ฐ, DP๋ฅผ ์ฌ์ฉํฉ๋๋ค. 7๏ธโฃ ๋ฌธ์ ๊ฐ ๋ฆฌ์คํธ์ ๊ด๋ จ ์๊ณ , ์ถ๊ฐ์ ์ธ ๊ณต๊ฐ์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ์๋ Fast & Slow Pointer ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํฉ๋๋ค. 8๏ธโฃ ๋๋ถ๋ถ์ ํธ๋ฆฌ ๋๋ ๊ทธ๋ํ ๋ฌธ์ ๋ BFS ๋ DFS๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค. 9๏ธโฃ ๋ฌธ์์ด ์งํฉ์์ ๊ณตํต๋ถ๋ถ ๋ฌธ์์ด์ ์ฐพ์์ผ ํ๋ ๊ฒฝ์ฐ HashMap์ด๋ Trie๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๐ ๋ฌธ์์ด์ ๊ฒ์/์กฐ์ํด์ผ ํ๋ค๋ฉด Trie๊ฐ ์ต๊ณ ์ ์๋ฃ๊ตฌ์กฐ์ผ ๊ฒ์ ๋๋ค.