๊ธ€ ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Jungle / WIL(Weekly I Learned)

[WIL] 3์ฃผ

๐ŸŽฏ ๋ชฉํ‘œ ์„ค์ • ๋ฐ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ ํšŒ๊ณ  1. ๋ฌธ์ œ ํ•ด๊ฒฐ (Algorithm) ๋ชฉํ‘œ: ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋”ฐ๋ผ ๋งค์ผ 1๋ฌธ์ œ ์Šค์Šค๋กœ ํ’€๊ธฐ ๊ฒฐ๊ณผ: ๋งค์ผ ์‹ค์ฒœ์— ์–ด๋ ค์›€์ด ์žˆ์—ˆ์œผ๋ฉฐ, ๋ธ”๋กœ๊ทธ ์ฐธ์กฐ์™€ AI ์ฝ”๋“œ ๋ฆฌ๋ทฐ์— ์˜์กดํ•จ Action Plan: 30๋ถ„๊ฐ„์€ ์™ธ๋ถ€ ๋„

์ž„์žฌํ™˜
์ž„์žฌํ™˜ 2026๋…„ 3์›” 19์ผ ยท 3๋ถ„ ์ฝ๊ธฐ ยท ์ˆ˜์ • 2026๋…„ 3์›” 27์ผ
[WIL] 3์ฃผ

๐ŸŽฏ ๋ชฉํ‘œ ์„ค์ • ๋ฐ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ ํšŒ๊ณ 

1. ๋ฌธ์ œ ํ•ด๊ฒฐ (Algorithm)

  • ๋ชฉํ‘œ: ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋”ฐ๋ผ ๋งค์ผ 1๋ฌธ์ œ ์Šค์Šค๋กœ ํ’€๊ธฐ
  • ๊ฒฐ๊ณผ: ๋งค์ผ ์‹ค์ฒœ์— ์–ด๋ ค์›€์ด ์žˆ์—ˆ์œผ๋ฉฐ, ๋ธ”๋กœ๊ทธ ์ฐธ์กฐ์™€ AI ์ฝ”๋“œ ๋ฆฌ๋ทฐ์— ์˜์กดํ•จ
  • Action Plan: 30๋ถ„๊ฐ„์€ ์™ธ๋ถ€ ๋„์›€ ์—†์ด ์Šค์Šค๋กœ ํ’€๊ณ , ์ดํ›„ ์ฆ‰์‹œ ํ”ผ๋“œ๋ฐฑ(๋ธ”๋กœ๊ทธ, AI)์„ ๋ฐ›๋Š” ๋ฐฉ์‹์œผ๋กœ ์ „ํ™˜

2. ์„ค๊ณ„ (Architecture)

  • ๋ชฉํ‘œ: ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํด๋” ๊ตฌ์กฐ ์„ค๊ณ„๋กœ ํ˜‘์—… ์‹œ Git ์ถฉ๋Œ ๋ฐฉ์ง€
  • ๊ฒฐ๊ณผ: Redis ๊ตฌํ˜„ ์‹œ ํ…Œ์ŠคํŠธ ํด๋” ๊ตฌ์กฐ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ ์ค‘ ์ฝ”๋“œ ํ˜ผ์„  ๋ฐฉ์ง€ ์„ฑ๊ณต

3. ๊ตฌํ˜„ (Implementation)

  • ๋ชฉํ‘œ: ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ ์‹œ ๋ช…์„ธ์„œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ AI์˜ ํ”„๋กœ์ ํŠธ ๋ฌธ๋งฅ ํŒŒ์•… ๋•๊ธฐ
  • ๊ฒฐ๊ณผ: ๋ช…์„ธ์„œ ๊ธฐ๋ฐ˜ ํ•™์Šต์€ ์ด๋ฃจ์–ด์กŒ์œผ๋‚˜, Google Docs ์‚ฌ์šฉ์œผ๋กœ ๊ฐ€๋…์„ฑ ์ €ํ•˜
  • Action Plan: ํ–ฅํ›„ Notion ํ™œ์šฉ ๋ฐ ๋ช…์„ธ์„œ ์ž๋™ํ™” ๋ฐฉ์•ˆ ๋ชจ์ƒ‰

4. ํ’ˆ์งˆ (Quality)

  • ๋ชฉํ‘œ: Redis ๊ด€๋ จ ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ํ…Œ์ŠคํŠธ ํ†ต๊ณผ
  • ๊ฒฐ๊ณผ: Github Actions๋กœ ์ž๋™ํ™” ๊ตฌ์ถ•. Main ๋ธŒ๋žœ์น˜ ์ˆ˜์ • ์‹œ ํ…Œ์ŠคํŠธ ์ž๋™ ์‹คํ–‰ ๋ฐ ๊ฒฐ๊ณผ๋ฅผ Notion์— ๊ณต์œ ํ•˜๋Š” ์‹œ์Šคํ…œ ๋งˆ๋ จ

5. ์œ ์ง€๋ณด์ˆ˜ (Maintenance)

  • ๋ชฉํ‘œ: ์ฃผ์„ ์ž‘์„ฑ์„ ํ†ตํ•œ ํŒ€์› ๊ฐ„ ์ดํ•ด๋„ ์ฆ์ง„
  • ๊ฒฐ๊ณผ: ๊ธฐ๋Šฅ ๊ตฌํ˜„์— ์ง‘์ค‘ํ•˜๋А๋ผ ์ฃผ์„ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ๊ณ ๋ ค ๋ถ€์กฑ (๋ฏธํก)

6. ํ˜‘์—… (Collaboration)

  • ๋ชฉํ‘œ: ๋Šฅ๋™์ ์ธ ํƒœ๋„๋กœ ํ˜‘์—… ์†๋„ ํ–ฅ์ƒ
  • ๊ฒฐ๊ณผ: ๋ช…์„ธ์„œ ์‚ฌ์ „ ์ž‘์„ฑ์„ ํ†ตํ•ด ํŒ€์›๋“ค์˜ ํ”„๋กœ์ ํŠธ ์ดํ•ด๋„ ๋ฐ ์ž‘์—… ์†๋„ ์ฆ์ง„

7. ํƒœ๋„ (Mindset)

  • ๋ชฉํ‘œ: Redis์˜ ์ฝ”์–ด ๊ฐœ๋…๊ณผ ์›๋ฆฌ๋ฅผ ํ•™์Šต ํ›„ ๊ตฌํ˜„
  • ๊ฒฐ๊ณผ: ์บ์‹œ ๊ฐœ๋…์€ ๊ณต๋ถ€ํ–ˆ์œผ๋‚˜ ์‹ค๋ฌด ์ ์šฉ์— ํ•œ๊ณ„. '์™œ ์šฐ๋ฆฌ์—๊ฒŒ Redis๊ฐ€ ํ•„์š”ํ•œ๊ฐ€'์— ๋Œ€ํ•œ ๋…ผ๋ฆฌ์  ๊ทผ๊ฑฐ ๋ถ€์กฑ

8. ๋น„์ฆˆ๋‹ˆ์Šค ์ดํ•ด (Business Insight)

  • ๋ชฉํ‘œ: ์‚ฌ์šฉ์ž ํŽธ์˜์„ฑ(UX)์„ ๊ณ ๋ คํ•œ ์ฝ”๋“œ ๋ฐ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰
  • ๊ฒฐ๊ณผ: ์‚ฌ์šฉ์ž ๊ด€์ ๋ณด๋‹ค๋Š” ๊ธฐ์ˆ ์  ๊ตฌํ˜„์—๋งŒ ๋งค๋ชฐ๋จ (๋ฏธํก)

9. AI ํ™œ์šฉ (AI Prompting)

  • ๋ชฉํ‘œ: Agent.md ์ตœ์ ํ™”๋ฅผ ํ†ตํ•œ ๊ณ ํ’ˆ์งˆ ์ฝ”๋“œ ์ƒ์„ฑ
  • ๊ฒฐ๊ณผ: OpenAI ํŒ์„ ์ฐธ๊ณ ํ•˜์—ฌ Agent.md๋ฅผ ์˜๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•˜๊ณ  ํ•œ๊ตญ์–ด ์„ค๋ช…์„ ๋ณ‘๊ธฐํ•˜์—ฌ ํšจ๊ณผ์ ์ธ ๊ฐ€์ด๋“œ ๋งˆ๋ จ

10. ํ•™์Šต ๋ฏผ์ฒฉ์„ฑ (Learning Agility)

  • ๋ชฉํ‘œ: Redis ๋‚ด๋ถ€ ๊ตฌ์กฐ ์ดํ•ด ๋ฐ ๊ตฌํ˜„
  • ๊ฒฐ๊ณผ: ๊นŠ์ด ์žˆ๋Š” ์ดํ•ด ๋ถ€์กฑ์œผ๋กœ Python ๊ธฐ๋ณธ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ์‚ฌ์šฉ
  • Action Plan: ๋‚ด๋ถ€ ๊ตฌํ˜„ ์‚ฌํ•ญ์„ ์„ ํ–‰ ํ•™์Šตํ•˜๊ณ , ๊ธฐ์ˆ  ์„ ํƒ ์‹œ ๊ตฌ์ฒด์ ์ธ ์ด์œ ๋ฅผ ์ œ์‹œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„

๐Ÿ” 4์ฃผ์ฐจ ๋ฐœ์ œ: ๋” ๊นŠ๊ฒŒ ๊ณ ๋ฏผํ•  ์‚ฌํ•ญ

1. ํŒŒ์ด์ฌ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋‚ด๋ถ€ ๊ตฌํ˜„

  • List: ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ(Linked List)๊ฐ€ ์•„๋‹Œ ๋™์  ๋ฐฐ์—ด(Dynamic Array)๋กœ ๊ตฌํ˜„๋จ
  • Dictionary: Hash ๋ฐฉ์‹ ์‚ฌ์šฉ. Python 3.6+๋ถ€ํ„ฐ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ ์œ„ํ•ด ์ธ๋ฑ์Šค ํ…Œ์ด๋ธ”๊ณผ ์—”ํŠธ๋ฆฌ ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌ
    • ๋ฐ์ดํ„ฐ ์‚ฝ์ž… ์ˆœ์„œ๊ฐ€ ์œ ์ง€๋˜๋„๋ก ๊ฐœ์„ ๋จ (Open Addressing ๊ธฐ๋ฐ˜)
  • Sort(): Timsort (Insertion + Merge Sort ํ˜ผํ•ฉ) ์‚ฌ์šฉ
    • ์ตœ์„ : O(n), ์ตœ์•…: O(n \log n)์˜ ์„ฑ๋Šฅ ๋ณด์žฅ

2. WebAssembly (Wasm)์™€ ์ €์ˆ˜์ค€ ์–ธ์–ด์˜ ํ•„์š”์„ฑ

  • ํ˜„์ƒ: JS๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๊ธฐ๋ฐ˜์ด๋ผ ๋ณต์žกํ•œ ์—ฐ์‚ฐ(์˜์ƒ ํŽธ์ง‘, 3D, ์•”ํ˜ธํ™”)์—์„œ ๋ณ‘๋ชฉ ๋ฐœ์ƒ
  • ํ•ด๊ฒฐ: C/Rust๋กœ ๋กœ์ง ์„ค๊ณ„ ํ›„ Wasm์œผ๋กœ ์ปดํŒŒ์ผํ•˜์—ฌ ๋„ค์ดํ‹ฐ๋ธŒ์— ๊ฐ€๊นŒ์šด ์†๋„ ๊ตฌํ˜„
  • ์ „๋žต: Python์œผ๋กœ ๋น ๋ฅด๊ฒŒ ํ”„๋กœํ† ํƒ€์ž… ์ œ์ž‘ ํ›„, ์„ฑ๋Šฅ์ด ํ•„์š”ํ•œ ๊ตฌ๊ฐ„์€ ๋น ๋ฅธ ์–ธ์–ด๋กœ ์ „ํ™˜

3. Redis Hash ์ง์ ‘ ๊ตฌํ˜„ ์‹œ ๊ณ ๋ ค์‚ฌํ•ญ

  • ํƒ€ ์–ธ์–ด์—์„œ ์ง์ ‘ Hash๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๋‹ค์Œ ์„ธ ๊ฐ€์ง€๊ฐ€ ํ•ต์‹ฌ์ž„:
    1. ํ•ด์‹œ ํ•จ์ˆ˜ ์„ ์ •
    2. ์ถฉ๋Œ(Collision) ์ฒ˜๋ฆฌ ๋ฐฉ์‹ ๊ฒฐ์ •
    3. ๋™์  ๋ฆฌ์‚ฌ์ด์ง•: ๋ฐ์ดํ„ฐ ์ž„๊ณ„์น˜ ์ดˆ๊ณผ ์‹œ ํ…Œ์ด๋ธ” ํฌ๊ธฐ๋ฅผ ํ™•์žฅ(๋ณดํ†ต 2๋ฐฐ)ํ•˜๊ณ  ์žฌ๋ฐฐ์น˜(Rehashing)
    Note: Redis๋Š” ์†Œ๋Ÿ‰ ๋ฐ์ดํ„ฐ์ผ ๋• ziplist(์••์ถ• ๊ตฌ์กฐ), ๋งŽ์•„์ง€๋ฉด hashtable๋กœ ์ „ํ™˜ํ•˜๋Š” ์œ ์—ฐ์„ฑ์„ ๊ฐ€์ง

4. ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ ๊ฒฐ๊ณผ๋ฌผ์— ๋Œ€ํ•œ '์ง„์งœ' ๋‚ด ๊ฒƒ ๋งŒ๋“ค๊ธฐ

  • AI๊ฐ€ ๋งŒ๋“  ๊ฒฐ๊ณผ๋ฌผ์— ๋Œ€ํ•ด ๋‹ต๋ณ€ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋ฉด ๊ทธ๊ฒƒ์€ ๋ณธ์ธ์˜ ์‹ค๋ ฅ์ด ์•„๋‹˜
  • ์ˆ˜์š”์ฝ”๋”ฉํšŒ ํ™œ์šฉ: ๋‚ด๊ฐ€ ์™„๋ฒฝํžˆ ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋งŒํผ๋งŒ AI๋ฅผ ํ™œ์šฉํ•˜๊ณ , ๊ทธ ๋‚ด์šฉ์„ ๊ณต์œ ํ•˜๋ฉฐ ๊ฒ€์ฆ๋ฐ›๊ธฐ

๐Ÿ“’ 3์ฃผ์ฐจ ๋ธ”๋กœ๊ทธ ์ •๋ฆฌ

Merge Sort, Quick Sort, ๋ถ„ํ•  ์ •๋ณต

https://forrest7.tistory.com/32

3/13

์Šคํƒ, set (boj1406 ์—๋””ํ„ฐ, boj2295 ์„ธ์ˆ˜์˜ ํ•ฉ)

https://forrest7.tistory.com/33

3/14

Queue (boj 3190 ๋ฑ€)

https://forrest7.tistory.com/34

3/16

ํˆฌ ํฌ์ธํ„ฐ (boj 2470 ๋‘ ์šฉ์•ก)

https://forrest7.tistory.com/35

์ˆ˜์š” ์ฝ”๋”ฉ ํ›„๊ธฐ (๋ ˆ๋””์Šค ๊ตฌํ˜„)

https://forrest7.tistory.com/36