Community

๐Ÿ•Š๏ธ ์ฝ”๋”ฉ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•œ ํŒ 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๊ฐ€ ์ตœ๊ณ ์˜ ์ž๋ฃŒ๊ตฌ์กฐ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค