Skip to content

Latest commit

ย 

History

History
112 lines (78 loc) ยท 8 KB

File metadata and controls

112 lines (78 loc) ยท 8 KB

์ž๋ฃŒ๊ตฌ์กฐ & ์•Œ๊ณ ๋ฆฌ์ฆ˜

๐Ÿ“š ๊ณต๋ถ€ํ•œ ์ž๋ฃŒ
  • ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ธํ„ฐ๋ทฐ

1. ์‹œ๊ฐ„๋ณต์žก๋„์™€ ๊ณต๊ฐ„๋ณต์žก๋„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • Big-O, Big-Theta, Big-Omega ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • ๋‹ค๋ฅธ ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , Big-O๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๊ฐ€ ์žˆ์„๊นŒ์š”?
  • O(1)์€ O(N^2) ๋ณด๋‹ค ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ ๋น ๋ฅธ๊ฐ€์š”?

2. ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • ์ผ๋ฐ˜ ๋ฐฐ์—ด๊ณผ, ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋น„๊ตํ•ด ์ฃผ์„ธ์š”.
  • ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

3. ์Šคํƒ๊ณผ ํ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • ์Šคํƒ 2๊ฐœ๋กœ ํ๋ฅผ, ํ 2๊ฐœ๋กœ ์Šคํƒ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๊ณผ, ๊ทธ ์‹œ๊ฐ„๋ณต์žก๋„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ, ๋ฐฐ์—ด๋กœ ์Šคํƒ๊ณผ ํ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
  • Prefix, Infix, Postfix ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , ์ด๋ฅผ ์Šคํƒ์„ ํ™œ์šฉํ•ด์„œ ๊ณ„์‚ฐ/ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • Deque๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
  • (C++ ํ•œ์ •) Deque์˜ Random Access ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(1) ์ž…๋‹ˆ๋‹ค. ์ด๊ฒŒ ์–ด๋–ป๊ฒŒ ๊ฐ€๋Šฅํ•œ๊ฑธ๊นŒ์š”?

4. ํ•ด์‹œ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • ๊ฐ’์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ถฉ๋Œ์ด ์ตœ๋Œ€ํ•œ ์ ์€ ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
  • ํ•ด์‹œ๊ฐ’์ด ์ถฉ๋Œํ–ˆ์„ ๋•Œ, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
  • ๋ณธ์ธ์ด ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด์—์„œ๋Š”, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ํ•ด์‹œ ์ถฉ๋Œ์„ ์ฒ˜๋ฆฌํ•˜๋‚˜์š”?
  • Double Hashing ์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜๊ณ , ๋‹จ์ ์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • Load Factor์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”. ๋ณธ์ธ์ด ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด์—์„œ์˜ ํ•ด์‹œ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” Load Factor์— ๊ด€๋ จํ•œ ์ •์ฑ…์ด ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‚˜์š”?
  • ๋‹ค๋ฅธ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ๋น„๊ตํ•˜์—ฌ, ํ•ด์‹œ ํ…Œ์ด๋ธ”์€ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์‹ฌ๊ฐํ•œ ์ˆ˜์ค€์˜ Race Condition ๋ฌธ์ œ์— ๋น ์งˆ ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๊ฐ์†Œ๋ฅผ ์ตœ์†Œํ™” ํ•œ ์ฑ„๋กœ ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๊ณ„ํ•ด ๋ณด์„ธ์š”.

5. ํŠธ๋ฆฌ์™€ ์ด์ง„ํŠธ๋ฆฌ, ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • ๊ทธ๋ž˜ํ”„์™€ ํŠธ๋ฆฌ์˜ ์ฐจ์ด๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”?
  • ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ์—์„œ ์ค‘์œ„ ํƒ์ƒ‰์„ ํ•˜๊ฒŒ ๋˜๋ฉด, ๊ทธ ๊ฒฐ๊ณผ๋Š” ์–ด๋–ค ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋‚˜์š”?
  • ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ์˜ ์ฃผ์š” ์—ฐ์‚ฐ์— ๋Œ€ํ•œ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ์„ค๋ช…ํ•˜๊ณ , ์™œ ๊ทธ๋Ÿฐ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋„์ถœ๋˜๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ์˜ ํ•œ๊ณ„์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  • ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ์˜ ๊ฐ’ ์‚ฝ์ž…, ์‚ญ์ œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , ์–ด๋–ค์‹์œผ๋กœ ๊ฐ’์„ ์‚ฝ์ž…ํ•˜๋ฉด ํŽธํ–ฅ์ด ๋ฐœ์ƒํ• ๊นŒ์š”?
  • ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ์™€ ๋™์ผํ•œ ๋กœ์ง์„ ์‚ฌ์šฉํ•˜๋ฉด, ์‚ผ์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ๋„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ์•ˆ ๋œ๋‹ค๋ฉด, ๊ทธ ์ด์œ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

6. ํž™์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • ํž™์„ ๋ฐฐ์—ด๋กœ ๊ตฌํ˜„ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, ์–ด๋–ป๊ฒŒ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
  • ํž™์˜ ์‚ฝ์ž…, ์‚ญ์ œ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , ์™œ ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ์™€ ๋‹ฌ๋ฆฌ ํŽธํ–ฅ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • ํž™ ์ •๋ ฌ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”? Stable ํ•œ๊ฐ€์š”?

7. BBST (Balanced Binary Search Tree) ์™€, ๊ทธ ์ข…๋ฅ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • Red Black Tree๋Š” ์–ด๋–ป๊ฒŒ ๊ท ํ˜•์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
  • Red Black Tree์˜ ์ฃผ์š” ์„ฑ์งˆ 4๊ฐ€์ง€์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • 2-3-4 Tree, AVL Tree ๋“ฑ์˜ ๋‹ค๋ฅธ BBST ๊ฐ€ ์žˆ์Œ์—๋„, ์™œ Red Black Tree๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋ ๊นŒ์š”?

8. ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • Quick Sort์™€ Merge Sort๋ฅผ ๋น„๊ตํ•ด ์ฃผ์„ธ์š”.
  • Quick Sort์—์„œ O(N^2)์ด ๊ฑธ๋ฆฌ๋Š” ์˜ˆ์‹œ๋ฅผ ๋“ค๊ณ , ์ด๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • Stable Sort๊ฐ€ ๋ฌด์—‡์ด๊ณ , ์–ด๋–ค ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด Stable ํ•œ์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • Merge Sort๋ฅผ ์žฌ๊ท€๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
  • Radix Sort์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • Bubble, Selection, Insertion Sort์˜ ์†๋„๋ฅผ ๋น„๊ตํ•ด ์ฃผ์„ธ์š”.
  • ๊ฐ’์ดย ๊ฑฐ์˜ย ์ •๋ ฌ๋˜์–ด ์žˆ๊ฑฐ๋‚˜, ์•„์˜ˆ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค๋ฉด, ์œ„ ์„ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ ๋น„๊ต ๊ฒฐ๊ณผ๋Š” ๋‹ฌ๋ผ์งˆ๊นŒ์š”?
  • ๋ณธ์ธ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์–ธ์–ด์—์„ , ์–ด๋–ค ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ ฌ ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์„๊นŒ์š”?
  • ์ •๋ ฌํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” 50G ์ธ๋ฐ, ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 4G๋ผ๋ฉด, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌ์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

9. ๊ทธ๋ž˜ํ”„ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , ์ด๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‘ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • ๊ฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด, "๋‘ ์ •์ ์ด ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”์ง€" ํ™•์ธํ•˜๋Š” ์‹œ๊ฐ„๋ณต์žก๋„์™€ "ํ•œ ์ •์ ์— ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์ •์ ์„ ์ฐพ๋Š”" ์‹œ๊ฐ„๋ณต์žก๋„, ๊ทธ๋ฆฌ๊ณ  ๊ณต๊ฐ„๋ณต์žก๋„๋ฅผ ๋น„๊ตํ•ด ์ฃผ์„ธ์š”.
  • ์ •์ ์˜ ๊ฐœ์ˆ˜๊ฐ€ N๊ฐœ, ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜๊ฐ€ N^3 ๊ฐœ๋ผ๋ฉด, ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ผ๊นŒ์š”?
  • ์‚ฌ์ดํด์ด ์—†๋Š” ๊ทธ๋ž˜ํ”„๋Š” ๋ชจ๋‘ ํŠธ๋ฆฌ์ธ๊ฐ€์š”? ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด, ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด์ฃผ์„ธ์š”.

10. ๊ทธ๋ž˜ํ”„์—์„œ, ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • ํŠธ๋ฆฌ์—์„œ๋Š” ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ตœ๋‹จ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? (์œ„ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ )
  • ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ, ํž™์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ• ๊นŒ์š”?
  • ์ •์ ์˜ ๊ฐœ์ˆ˜๊ฐ€ N๊ฐœ, ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜๊ฐ€ N^3 ๊ฐœ๋ผ๋ฉด, ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํšจ์œจ์ ์ผ๊นŒ์š”?
  • A* ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์ต์ŠคํŠธ๋ผ์™€ ๋น„๊ตํ•ด์„œ ์–ด๋–ค ์„ฑ๋Šฅ์„ ๋‚ผ๊นŒ์š”?
  • ์Œ์ˆ˜ ๊ฐ„์„ ์ด ์žˆ์„ ๋•Œ์™€, ์Œ์ˆ˜ ์‚ฌ์ดํด์ด ์žˆ์„ ๋•Œ ๊ฐ๊ฐ ์–ด๋–ค ์ตœ๋‹จ๊ฑฐ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

11. ์žฌ๊ท€ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • ์žฌ๊ท€ ํ•จ์ˆ˜์˜ ๋™์ž‘ ๊ณผ์ •์„ Call Stack์„ ํ™œ์šฉํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • ์–ธ์–ด์˜ ์ŠคํŽ™์— ๋”ฐ๋ผ, ์žฌ๊ท€ํ•จ์ˆ˜์˜ ์ตœ์ ํ™”๋ฅผ ์ง„ํ–‰ํ•ด์ฃผ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ์— ์žฌ๊ท€ํ•จ์ˆ˜์˜ ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ์ตœ์ ํ™” ํ•  ์ˆ˜ ์žˆ์„์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

12. MST๊ฐ€ ๋ฌด์—‡์ด๊ณ , ์–ด๋–ป๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ์„์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • Kruskal ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” Union-Find ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.
  • Kruskal ๊ณผ Prim ์ค‘, ์–ด๋–ค ๊ฒƒ์ด ๋” ๋น ๋ฅผ๊นŒ์š”?
  • Kruskal ๊ณผ Prim ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ์–ป์–ด์ง„ ๊ฒฐ๊ณผ๋ฌผ์€ ๋ฌด์กฐ๊ฑด ํŠธ๋ฆฌ์ธ๊ฐ€์š”? ๋งŒ์•ฝ ๊ทธ๋ ‡๋‹ค๋ฉด ์ฆ๋ช…ํ•ด ์ฃผ์„ธ์š”. ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด, ๋ฐ˜๋ก€๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

13. Thread Safe ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ€ ์žˆ์„๊นŒ์š”? ์—†๋‹ค๋ฉด, ์–ด๋–ป๊ฒŒ Thread Safe ํ•˜๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

  • ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด, ์กฐ๊ธˆ ๋” ๋น ๋ฅธ Thread Safe ํ•œ ์—ฐ์‚ฐ์„ ๋งŒ๋“ค ์ˆœ ์—†์„๊นŒ์š”?
  • ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์–ธ์–ด์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” Thread Safe ํ•œ๊ฐ€์š”? ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด, Thread Safe ํ•œ Wrapped Data Structure ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‚˜์š”?

14. ๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๊ณ , ์ฒ˜๋ฆฌํ•˜๋Š” ์ฃผ์š” ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Trie, KMP, Rabin Karp ๋“ฑ) ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

15. ์ด์ง„ํƒ์ƒ‰์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜๊ณ , ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ์ฆ๋ช…ํ•ด ๋ณด์„ธ์š”.

  • Lower Bound, Upper Bound ๋Š” ๋ฌด์—‡์ด๊ณ , ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
  • ์ด์ง„ํƒ์ƒ‰์˜ ๋…ผ๋ฆฌ๋ฅผ ์ ์šฉํ•˜์—ฌ ์‚ผ์ง„ํƒ์ƒ‰์„ ์ž‘์„ฑํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค๋ฉด, ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”ํ• ๊นŒ์š”? (์‹ค์ œ ์กด์žฌํ•˜๋Š” ์‚ผ์ง„ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฌด์‹œํ•˜์„ธ์š”!)
  • ๊ธฐ์กด ์ด์ง„ํƒ์ƒ‰ ๋กœ์ง์—์„œ ๋ถ€๋“ฑํ˜ธ์˜ ๋ฒ”์œ„๊ฐ€ ๋ฐ”๋€๋‹ค๋ฉด, (ex. <= ๋ผ๋ฉด <๋กœ, <์ด๋ผ๋ฉด <= ๋กœ) ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์งˆ๊นŒ์š”?

16. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋™์  ๊ณ„ํš๋ฒ•์„ ๋น„๊ตํ•ด ์ฃผ์„ธ์š”.

  • ๊ทธ๋ ‡๋‹ค๋ฉด, ์–ด๋–ค ๊ฒฝ์šฐ์— ๊ฐ๊ฐ์˜ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?
  • ๊ทธ๋ ‡๋‹ค๋ฉด, ๋™์  ๊ณ„ํš๋ฒ•์œผ๋กœ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฌธ์ œ๋Š” ์žฌ๊ท€๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ’€ ์ˆ˜ ์žˆ๋‚˜์š”?