MINIWIKI
CareerSideProjectBook&Study
  • โšกREADME
  • ๐Ÿ˜ƒME
    • Review
      • 2025 OKR & ํšŒ๊ณ  - ํšŒ์‚ฌ ์—†์ด๋„ ๋จน๊ณ ์‚ด ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค
        • 2025๋…„ 19์ฃผ์ฐจ
        • 2025๋…„ 18์ฃผ์ฐจ
        • 2025๋…„ 17์ฃผ์ฐจ
        • ์†Œ์„ค์“ฐ๊ธฐ์˜ ์“ธ๋ชจ
        • 2025๋…„ 15์ฃผ์ฐจ
        • 2025๋…„ 14์ฃผ์ฐจ
        • ์š”์ฆ˜ ํšŒ์‚ฌ์ƒํ™œ
        • ์ฒซ ํŽ˜์ด์ง€ ์ž‘์„ฑ!
        • ํฐ ์ฝ” ๋‹ค์ณค๋‹ค
        • ์˜ค๋žœ๋งŒ์— ์ข‹์•˜๋˜ ํ•˜๋ฃจ
        • ์•…์ˆœํ™˜๊ณผ ๋ฐ˜๋ณต์‹คํŒจ
        • 2025๋…„ 12์ฃผ์ฐจ
        • 2025๋…„ 11์ฃผ์ฐจ
        • 2025๋…„ 3์›” 6์ผ
        • 2025๋…„ 3์›” 4์ผ
        • 2025๋…„ 3์›” 1์ผ
        • 2025๋…„ 2์›” ํšŒ๊ณ 
        • 2025๋…„ 1-2์›” ์ฑ…, ์˜ํ™”, ์Œ์•…
        • 2025๋…„ 1-2์›” ํšŒ๊ณ  (PM)
        • 2025๋…„ 1-2์›” ํšŒ๊ณ  (์ฝ˜์ œํ’ˆ)
          • (Merged) 2025 ๋น„์ฆˆ๋‹ˆ์Šค
        • 2025๋…„ 1-2์›” ํšŒ๊ณ  (์‚ถ/์‚ฌ๋žŒ)
        • 2025๋…„ 1-2์›” ํšŒ๊ณ  (๊ธฐ๋ณธ)
        • (25.02) ๊ณ ๊ฐ ํ”ผ๋“œ๋ฐฑ ๋ฐ›๊ธฐ
        • ๋‹ค์‹œ ์ „๋žต ์ˆ˜์ •
        • ๋จธ๋ฆฌ ์† ๋ณต์žกํ•œ ๊ฒƒ๋“ค ๋„์ ๋„์ 
        • ๋ณ€ํ•˜์ง€ ์•Š๋Š” ํ•ต์‹ฌ ์ฒ ํ•™
        • ๊ฐœ๋ณ„ํ™” ๋Šฅ๋ ฅ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•
        • ํŒŒ๊ณ ๋“ค๊ธฐ
        • ์˜ˆ์ˆ ๊ฐ€์™€ ์‚ฌ์—…๊ฐ€
        • ๊ฐ•์ 
        • PM์œผ๋กœ์„œ์˜ ์ „๋ฌธ์„ฑ
        • ๋ถ€๋™์‹œ
        • ์ด๊ฒŒ ๋‹ค ๋ฌด์Šจ ์†Œ์šฉ์ธ๊ฐ€
        • ๋‚ด๊ฐ€ ๊ฐ€์žฅ ์ž˜ ์ „ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์‹œ์ง€
        • ์—ฐ๋ง์ธ์‚ฌ ํƒ€์ด๋ฐ
        • Attitude๋Š” ์˜ท๋ถ€ํ„ฐ
        • ๋‹ค์‹œ ์‹œ์ž‘
      • 2024 ํšŒ๊ณ 
        • 2024๋…„ 12์›” 4์ฃผ์ฐจ (52/52)
        • ์›ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ๋“ค
        • 2024๋…„ 12์›” 3์ฃผ์ฐจ (51/52)
        • ํšŒ์‚ฌ vs. ํ‡ด์‚ฌ
        • 2024๋…„ 12์›” 2์ฃผ์ฐจ (50/52)
        • 2024๋…„ 11์›” 4์ฃผ์ฐจ (47/52)
        • 2024๋…„ 11์›” 3์ฃผ์ฐจ (46/52)
        • 2024๋…„ 11์›” 1์ฃผ์ฐจ (44/52)
        • ํ˜“๋ฐ”๋Š˜
        • 2024๋…„ 10์›” 3์ฃผ์ฐจ (42/52)
        • ๊ทธ๋ƒฅ, ์š”์ฆ˜ํ•˜๊ณ  ์žˆ๋Š” ์ƒ๊ฐ๋“ค
        • 2024๋…„ 10์›” 1์ฃผ์ฐจ (40/52)
        • 2024๋…„ 9์›” 4์ฃผ์ฐจ (39/52)
        • 2024๋…„ 9์›” 3์ฃผ์ฐจ (38/52)
        • 2024๋…„ 9์›” 2์ฃผ์ฐจ (37/52)
        • 2024๋…„ 9์›” 1์ฃผ์ฐจ (36/52)
        • 2024๋…„ 8์›” 4์ฃผ์ฐจ (35/52)
        • ์žƒ์–ด๋ฒ„๋ฆฐ ๋ณด๋ฌผ์ฐฝ๊ณ 
        • ๋ถ„๊ธฐ๋ณ„ ํ”„๋กœ์ ํŠธ
        • ๊ฐ•์ ๊ฒ€์‚ฌ
        • ๊ธ€์“ฐ๊ธฐ
        • ์ด์ƒ์ ์ธ ํ•˜๋ฃจ
        • ๋‚˜์™€ ์•„ํ”„๋ฆฌ์นด
        • ํ•œ ๋•Œ ๋‚˜์—๊ฒŒ ํž˜์ด๋˜์—ˆ๋˜ ๋ฌธ์žฅ๋“ค
      • 2023 ํšŒ๊ณ 
        • 2023๋…„ 12์›” 5์ฃผ์ฐจ
        • 2023๋…„ 12์›” 4์ฃผ์ฐจ
        • 2023๋…„ 12์›” 3์ฃผ์ฐจ
        • 2023๋…„ 12์›” 2์ฃผ์ฐจ
        • 2023๋…„ 12์›” 3์ผ
        • 2023๋…„ 12์›” 1์ฃผ์ฐจ
        • 2023๋…„ 11์›” 29์ผ
        • 2023๋…„ 11์›” 28์ผ
        • 2023๋…„ 11์›” 27์ผ
        • 2023๋…„ 11์›” 18์ผ
        • 2023๋…„ 11์›” 15์ผ
        • 2023๋…„ 11์›” 12์ผ
        • 2023๋…„ 11์›” 11์ผ
        • 2023๋…„ 11์›” 1์ฃผ์ฐจ
        • 2023๋…„ 10์›” 3์ฃผ์ฐจ
        • 2023๋…„ 9์›” 4์ฃผ์ฐจ
        • 2023๋…„ 9์›” 3์ฃผ์ฐจ
        • 2023๋…„ 9์›” 2์ฃผ์ฐจ
        • 2023๋…„ 9์›” 1์ฃผ์ฐจ
        • 2023๋…„ 8์›” 4์ฃผ์ฐจ
        • 2023๋…„ 8์›” 2์ฃผ์ฐจ
        • 2023๋…„ 8์›” 1์ฃผ์ฐจ
        • 2023๋…„ 7์›” 4์ฃผ์ฐจ
        • 2023๋…„ 7์›” 3์ฃผ์ฐจ
        • 2023๋…„ 7์›” 2์ฃผ์ฐจ
        • 2023๋…„ ์ƒ๋ฐ˜๊ธฐ ํšŒ๊ณ 
        • ๋‚˜ํƒœํ•˜๊ณ  ์š•์‹ฌ๋งŽ์€ ์ธ๊ฐ„์€ ์–ด๋–ป๊ฒŒ ์‚ด์•„์•ผ ํ•˜๋‚˜
        • ์ฑ… <์–ด๋–ป๊ฒŒ ์‚ด์•„์•ผ ํ•˜๋Š”๊ฐ€>
        • ์ฑ… <๋‹น์‹ ์€ ๊ฒฐ๊ตญ ๋ฌด์—‡์ด๋“  ํ•ด๋‚ด๋Š” ์‚ฌ๋žŒ>
        • ๋ณต์žก๊ณ„๋ฅผ ์‚ด์•„๊ฐ€๋Š” ๋‹จ์ˆœํ•œ ์‚ฌ๋žŒ
        • ์ฑ… <๋ชจ๋“ ๊ฒƒ์ด ๋˜๋Š”๋ฒ•>
        • ๊ธ€๋กœ ์‹ ๋ขฐ๋ฅผ ์–ป์—ˆ๋˜ ๊ฒฝํ—˜๋“ค
        • ๊ธฐํš์€ ๋‚˜๋ฅผ ์ฐพ์•„๊ฐ€๋Š” ๊ณผ์ •
        • ๋‚˜๋Š” ์™œ ์‚ด์•„๊ฐ€๋Š”๊ฐ€
        • ์žฅํ•ญ์ค€ ๊ฐ๋…์œผ๋กœ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๋Š” "์‚ถ์„ ๋Œ€ํ•˜๋Š” ์ž์„ธ"
        • ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งํ•˜๋Š” ๊ฐ์ •์—๋„ ๋ถ„์„์ด ํ•„์š”ํ•œ ์ด์œ 
      • 2022๋…„ ํšŒ๊ณ 
        • problem map ์ž‘์„ฑํ•˜๊ธฐ
        • ์‚ถ์—์„œ ๋‚ด๊ฐ€ ํ•ด๊ฒฐํ•˜๊ณ  ์‹ถ์€ ๋ฌธ์ œ (2)
        • ์‚ถ์—์„œ ๋‚ด๊ฐ€ ํ•ด๊ฒฐํ•˜๊ณ  ์‹ถ์€ ๋ฌธ์ œ (1)
        • <์‚ถ์˜ ๋ฌธ์ œ> ์ง€๋„ ๋‹ค์‹œ ๊บผ๋‚ด๋ณด๊ธฐ
        • ์ง€๋„ ์œ„์˜ 29์‚ด
        • ๋งค๋ฒˆ ์‹œ๊ฐ„๊ณ„ํš์„ ๋ง์น˜๋Š” MBTI 'Pํ˜• ์ธ๊ฐ„'์„ ์œ„ํ•œ 5๋‹จ๊ณ„ ์ธ์ƒ๊ด€๋ฆฌ๋ฒ•
        • ๋‹น์‹ ์€ ์™œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ณต๋ถ€ํ•˜๋Š”๊ฐ€?
        • ์•„๋ฌด ๊ฒƒ๋„ ์•„๋‹Œ ๋‚ด๊ฐ€ ๊ธ€์„ ์“ฐ๋Š” ์ด์œ 
        • ์ฑ… <์—ฌํ–‰์˜ ์ด์œ >
        • ์ฑ… <๋ถ•๋Œ€๊ฐ๊ธฐ>
      • 2021๋…„ ํšŒ๊ณ 
    • Career
      • [๋ฏธ๋ฆฌ์บ”๋ฒ„์Šค] AI ์ œํ’ˆ PM
        • ์„ ํƒ๊ณผ ์ง‘์ค‘
        • ์–ด์ฉŒ๋ฉด ๋‚ด๊ฐ€ ํ‹€๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ
        • ๋พฐ์กฑํ•œ ์‚ฌ๋žŒ๋“ค๊ณผ์˜ ํ˜‘์—…
        • AI๊ธฐ๋Šฅ PPT๋กœ ์˜จ๋ณด๋”ฉ
        • AI ์ œํ’ˆ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ
      • [๋ฏธ๋ฆฌ์บ”๋ฒ„์Šค] ์•ฑ PM
      • [๋ฏธ๋ฆฌ์บ”๋ฒ„์Šค] ์†Œ์ƒ๊ณต์ธ ์ œํ’ˆ PM
      • [๋ฏธ๋ฆฌ์บ”๋ฒ„์Šค] 2.0 PM
      • [ํ™€๋กœ์Šคํƒ ๋”ฉ] ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ
      • [์ฒญ๋…„5.5] ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ
      • [๊ฐ€์ถ•๋Œ€์ถœ์‚ฌ์—…] NGO Project PM
    • Insight
    • Interview
    • Public Writing
  • SIDE PROJECT
    • [Youtube] ๋ฉ”์ดํ‚นํ•„๋ฆ„
      • [Product] ์ฒญ์ถ˜์ง‘ ํ”„๋กœ์ ํŠธ
        • (v24.11) ์ฒญ์ถ˜์ง‘ JTBD
          • (๊ตฌ) ์ฒญ์ถ˜์ง‘ ์‹คํ–‰๊ณ„ํš
          • (๊ตฌ) ํ”Œ๋ ˆ์ด๋ฆฌ์ŠคํŠธ ๊ธฐํš
            • ๋ฐ์ด์‹์Šค ์ „๊ณก ํƒ€์ž„๋ผ์ธ
            • ์ฑ•ํ„ฐ ๊ตฌ์„ฑ
        • (v25.01) ์ฒญ์ถ˜์ง‘ JTBD
          • ์•„์ด๋Œ ๊ตฟ์ฆˆ ์‹œ์žฅ ์กฐ์‚ฌ (๊ณต์‹)
          • ์•„์ด๋Œ ๊ตฟ์ฆˆ ์‹œ์žฅ ์กฐ์‚ฌ (๋น„๊ณต์‹)
        • ์ œ์ž‘ ์ค€๋น„
          • ๋ ˆํผ๋Ÿฐ์Šค - ์˜คํ”„๋ผ์ธ ์‹œ์ง‘
          • a5 ์ฑ… ๋งŒ๋“ค๊ธฐ
    • [Youtube] ๋งˆํฌ๊ตฌํƒ€์ž๊ธฐ
      • [mptw] JTBD
        • IKIGAI
      • [mptw] ์ฑ„๋„ ์„ค์ •
        • ์ฑ„๋„ ์ด๋ฆ„ ํ›„๋ณด๊ตฐ
      • ์‹œ๋ฆฌ์ฆˆ [์ฝ๋Š”์Œ์•…]
        • [์ฝ๋Š”์Œ์•…] ๋ฐฑ๋กœ๊ทธ
          • ๋…ธ๋ž˜ ๊ฐ€์‚ฌ ์ฝ˜ํ…์ธ  ๋ ˆํผ๋Ÿฐ์Šค
        • ep1. ํŒŒ๋…ธ๋ผ๋งˆ - ์ด์ฐฌํ˜
          • ์ด์ฐฌํ˜ <ERROR>
        • ep2. ๋งˆ์ง€๋ง‰ ์ธ์‚ฌ (feat. ์ฒญํ•˜) - ์ด์ฐฌํ˜
        • ep3. ๋‚˜์˜ ๋ฐ”๋‹ค์—๊ฒŒ - ๋„์˜
        • ep4. Dattom - ๋ฐฑ์˜ˆ๋ฆฐ
        • ep5. REBEL HEART - IVE
        • ep6. Either way - IVE
        • ep7. ๋„ˆ์™€์˜ ๋ชจ๋“  ์ง€๊ธˆ - ์žฌ์“ฐ๋น„(JAESSBEE)
        • ep8. ์˜ˆ๋ปค์–ด - DAY6
        • 6์ฃผ์ฐจ. ๋ฐ์ด์‹์Šค ์‹œ๋ฆฌ์ฆˆ
    • [IT] ๊ณต์ ์ธ์‚ฌ์ ๋ชจ์ž„ ํ”Œ๋žซํผ
      • 1. ์šฐ๋ฆฌ ์กฐ์ง์˜ ์–ผ๊ตด์„ ๋งŒ๋“ค์ž
      • 2. ๋‚ด ์ƒ์— ์ฒซ ๊ธฐํš์„œ ๋งŒ๋“ค๊ธฐ (feat. QA Driven Development)
    • [Meet] ๊ณต์ ์ธ์‚ฌ์ ๋ชจ์ž„
    • [Youtube] ์ด์ƒํ•œ๋‚˜๋ผ์˜ ๊ฐœ๋ฐœ์žํ• ๋ฌด๋‹ˆ
    • [Study] Disquiet PM ์Šคํ„ฐ๋”” ์ฟจํ”ผ์Šค
    • [IT] ์„œ์šธ ๋นต ๋ง›์ง‘ ์ž˜์•Œ ํ…Œ์ŠคํŠธ
    • [Meet] ์–ผ๋ฆฌ๋ฒ„๋“œ ๋ชจ๋‹ํด๋Ÿฝ
      • ํ™๋ณด๋ฅผ ๊ณ๋“ค์ธ 2์ฃผ์ผ ์šด์˜ํ›„๊ธฐ
  • ์žกํ•™์‚ฌ์ „
    • ์™€์ธ ์›๋ฐ์ด ํด๋ž˜์Šค
    • ์†Œ์„ค์“ฐ๊ธฐ
      • <์ฑ…> ์†Œ์„ค์“ฐ๊ธฐ์˜ ๋ชจ๋“  ๊ฒƒ 1 - ํ”Œ๋กฏ๊ณผ ๊ตฌ์กฐ
      • ์œ ํŠœ๋ธŒ - ์†Œ์„ค ์“ฐ๋Š” ๋ฒ•
      • ๊ฐ•์˜๋“ค
      • ์ž‘๊ฐ€๊ฐ€ ๋˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•ด
    • AI
      • ์ƒ์„ฑํ˜• AI
    • ComfyUI
      • Stable Diffusion
      • ComfyUI ์ค€๋น„, ์„ค์น˜, ์„ค์ •
      • Module ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ธฐ
      • ComfyUI
      • Core Node
    • ์ž‘์‚ฌ
      • ์ž‘์‚ฌ๊ฐ€ ๋˜๋Š” ๋ฒ•
    • ์œ ํŠœ๋ธŒ
      • ์œ ํŠœ๋ฒ„ ์Šคํ† ๋ฆฌ๋‹˜์˜ ๋ถ€์บ ์„ฑ์žฅ๊ธฐ
      • ์ฃผ์–ธ๊ทœ ์œ ํŠœ๋ธŒ ์ดˆ๋ณดํŽธ (ํด๋ž˜์Šค101)
      • ์ฃผ์–ธ๊ทœ ์œ ํŠœ๋ธŒ ์™•์ดˆ๋ณด ํŽธ
    • ๊ฒฝ์ œ
      • ์—ฐ๊ธˆ์ €์ถ•ํŽ€๋“œ
    • ChatGPT
    • ํฌ๋กค๋ง
      • Automatio
      • Octoparse
    • ๋…ธ์ฝ”๋“œ
      • ๋ถ๋งˆํฌ & ๋…ธ์ฝ”๋“œ ์„œ๋น„์Šค ๋ชฉ๋ก
  • PRODUCT&BUSINESS
    • Service Planning/Analysis
      • ๋ธŒ๋Ÿฐ์น˜์‹œ๋ฆฌ์ฆˆ <๊ฐœ๋ฐœ๋ณด๋‹จ ๊ณ ๊ฐ๊ฐœ๋ฐœ>
      • baemin mart
        • 1. ์‹œ์ž‘
        • 2. ์šฐ์•„ํ•œํ˜•์ œ๋“ค & ๋ฐฐ๋ฏผ์ƒํšŒ
        • 3-1. [์ธํ„ฐ๋ทฐ] ํฌํ•ญ์—์„œ ์น˜ํ‚จ์ง‘์„ ์šด์˜ํ•˜์‹œ๋Š” ์ตœ์‚ฌ์žฅ๋‹˜
        • 3-2. [์ธํ„ฐ๋ทฐ] ๋ถ€์‚ฐ์—์„œ ์กฑ๋ฐœ ํ”„๋ Œ์ฐจ์ด์ฆˆ๋ฅผ ์šด์˜ํ•˜์‹œ๋Š” ์ด์‚ฌ์žฅ๋‹˜
        • 4. <์•„ํ”„๋‹ˆ๊นŒ ์‚ฌ์žฅ์ด๋‹ค> ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ์ดํ„ฐ ๋ถ„์„
        • 5. ๋ฌธ์ œ์ •์˜ & ๊ฐœ์„  ๊ฐ€์„ค
        • 6. ๊ฒฐ๋ก  - ์—ญ๊ธฐํš์„œ
      • careerly
      • meetme
      • ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ ์—ญ๊ธฐํš ์‚ฌ๋ก€
      • ๋‹น๊ทผ๋งˆ์ผ“ ์—ญ๊ธฐํš ์‚ฌ๋ก€
      • ๋„๊ทธ๋ƒฅ ๋‹˜์ด ๋งํ•˜๋Š” ์ง„์งœ ์—ญ๊ธฐํš
      • ๋„๊ทธ๋ƒฅ์˜ ์—ญ๊ธฐํš ์Šคํ„ฐ๋””๋ฒ•
      • ์ฑ… <ํ˜„์—… ๊ธฐํš์ž ๋„๊ทธ๋ƒฅ์˜ ์„œ๋น„์Šค ๊ธฐํš ์Šค์ฟจ>
      • ๊ธฐํš์„œ ์ž‘์„ฑํ•˜๊ธฐ
    • Business/Growth
      • Unsexy Business ๋‰ด์Šค๋ ˆํ„ฐ์—์„œ ์–ป๋Š” ์ธ์‚ฌ์ดํŠธ
      • ์ฑ… <์›์”ฝ>
      • ์ฑ… <์•„ํ”„๋ฆฌ์นด ์Šคํƒ€ํŠธ์—…>
      • ์ฑ… <์œ ๋‚œํ•œ ๋„์ „>
      • ์ฑ… <ํ•จ๊ป˜์ž๋ผ๊ธฐ>
      • ์ฑ… <๋‚˜๋Š” ๋ˆ ์—†์–ด๋„ ์‚ฌ์—…์„ ํ•œ๋‹ค>
      • ์ฑ… <๋‚˜๋Š” ์žฅ์‚ฌ์˜ ์‹  ์€ํ˜„์žฅ์ด๋‹ค>
      • ์ฑ… <์™œ ์‚ฌ์—…ํ•˜๋Š”๊ฐ€>
      • ์ฑ… <์™œ ์ผํ•˜๋Š”๊ฐ€>
      • ์ด์ œ๋Š” ํ”ผ์นญ๋„ ์œ ํŠœ๋ธŒ๋กœ
      • ์„ธ์ปจ๋“œ ๋ธŒ๋ ˆ์ธ์ด ํ•„์š”ํ•œ ์ด์œ 
      • ์ฑ… <ํƒ€์ดํƒ„์˜ ๋„๊ตฌ๋“ค>
      • ์ฑ… <์—ญํ–‰์ž>
        • <์—ญํ–‰์ž> ์—ญํ–‰์ž์˜ 7๋‹จ๊ณ„ ๋ชจ๋ธ ๋ณต์Šต
        • <์—ญํ–‰์ž> ์šด๋ช…์„ ๊ฑฐ์Šค๋ฅด๋Š” ์—ญํ–‰์ž์˜ 7๋‹จ๊ณ„ ๋ชจ๋ธ
      • ์ฑ… <์›”๊ธ‰์Ÿ์ด๋กœ ์‹œ์ž‘ํ•œ 38์‚ด ๊ทธ๋…€๋Š” ์–ด๋–ป๊ฒŒ 30์–ต์„ ๋ฒŒ์–ด ํŒŒ์ด์–ด์กฑ์ด ๋˜์—ˆ์„๊นŒ?>
      • ์ฑ… <ํŒŒ๋ฆฌ์—์„œ ๋„์‹œ๋ฝ์„ ํŒŒ๋Š” ์—ฌ์ž>
      • ์ฑ… <์กด๋ฆฌ์˜ ๊ธˆ์œต๋ฌธ๋งนํƒˆ์ถœ>
      • ์ฑ… <๋ˆ์˜ ๊ฐ๊ฐ์„ ๊ธธ๋Ÿฌ์ฃผ๋Š” ๊ฒฝ์ œ ์ง€์‹ ์ฒซ๊ฑธ์Œ>
        • ๊ธˆ๋ฆฌ
        • ํ™˜์œจ
        • ์ฃผ์‹
        • ์ฑ„๊ถŒ
        • ๋ถ€๋™์‚ฐ
        • ์—ฐ๊ธˆ
        • ๊ฒฝ์ œ์ •์ฑ…
        • ๊ทœ์ œ
        • ๊ฒฝ์ œ์œ„๊ธฐ
    • Product-Market Fit
      • ๋ธŒ๋Ÿฐ์น˜ ๋ถ <๊ฐœ๋ฐœ๋ณด๋‹จ ๊ณ ๊ฐ ๊ฐœ๋ฐœ>
      • ์ฑ… <์•„์ด๋””์–ด ๋ถˆํŒจ์˜ ๋ฒ•์น™>
      • ๊ณ ์ด์žฅ๋ก€์—ฐ๊ตฌ์†Œ
      • ๊ธ€์“ฐ๊ธฐ๋กœ PMF ๊ฒ€์ฆํ•˜๊ธฐ
      • ์—ฐ๋Œ€ ์†ก๋„ ์บ ํผ์Šค์˜ 40%๊ฐ€ ์‚ฌ์šฉํ•œ ์„œ๋น„์Šค
      • ์–ด์›จ์ดํฌ์ฝ”ํผ๋ ˆ์ด์…˜์˜ ๊น€๋ฏผ์ค€ ๋‹˜
      • ๋“œ๋กœ์šฐ ๋งˆ์ด ๋ธŒ๋žœ๋“œ
      • ๋…ธ์ฝ”๋“œ๋กœ PMF ์ฐพ๋Š” ๋ฐฉ๋ฒ•
    • UI/UX
      • UX Writing Workshop
        • 4. ๊ณ ๊ฐ๊ณผ์˜ ๊ด€๊ณ„ํ˜•์„ฑ - ์ฐจ๋ณ„์  ๊ฐ•ํ™”
        • 3. ๋น„์ฆˆ๋‹ˆ์Šค ์ž„ํŒฉํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ธ€์“ฐ๊ธฐ
        • 2. ํ›„ํ‚นํ•œ ๋ฌธ์žฅ์œผ๋กœ ๊ณ ๊ฐ ํ–‰๋™ ์ด๋Œ๊ธฐ
        • 1. ์‰ฝ๊ณ  ์ •ํ™•ํ•œ ๋ฌธ์žฅ์œผ๋กœ ๋ฌธ์ œํ•ด๊ฒฐ
        • What is UX Writing?
        • Reference
      • UX/UI ๊ด€๋ จ ์œ ์šฉํ•œ ์‚ฌ์ดํŠธ ๋ชจ์Œ
    • PM/PO
      • ์ฑ… <ํ”„๋กœ๋•ํŠธ ๋งค๋‹ˆ์ง€๋จผํŠธ>
      • ์ฑ… <์ธ์ŠคํŒŒ์ด์–ด๋“œ>
      • PM Wiki
      • ๋‹น์‹ ๊ณผ ํŒ€์„ ์„ฑ์žฅ์‹œํ‚ฌ PM ์ง๋ฌด๊ฐ€์ด๋“œ
      • PO ๋ฏธ์‹ , ํŒŒ๋ž‘์ƒˆ๋ฅผ ์ฐพ์•„์„œ - CPO ๊น€์šฉํ›ˆ
      • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ์ข‹์€ PM ๋‚˜์œ PM
      • ํ”„๋กœ๋•ํŠธ ๋งค๋‹ˆ์ €๋Š” ๋ญํ•˜๋Š” ์‚ฌ๋žŒ์ธ๊ฐ€
      • ํ† ์Šค ๋ฆฌ๋”๊ฐ€ ๋งํ•˜๋Š” PO๊ฐ€ ๊ผญ ์•Œ์•„์•ผํ•  ๊ฐœ๋… (2)
      • ํ† ์Šค ๋ฆฌ๋”๊ฐ€ ๋งํ•˜๋Š” PO๊ฐ€ ๊ผญ ์•Œ์•„์•ผํ•  ๊ฐœ๋… (1)
      • ์ฑ… <์กฐ์ง์„ ์„ฑ๊ณต์œผ๋กœ ์ด๋„๋Š” ํ”„๋กœ๋•ํŠธ ์˜ค๋„ˆ>
        • <ํ”„๋กœ๋•ํŠธ ์˜ค๋„ˆ> PO์˜ ์‹œ๊ฐ„๊ด€๋ฆฌ๋ฒ•
        • <ํ”„๋กœ๋•ํŠธ ์˜ค๋„ˆ> PO๊ฐ€ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์œผ๋กœ ์ผํ•  ์ˆ˜ ๋ฐ–์— ์—†๋Š” ์ด์œ 
  • DATA
    • Database
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์˜์‚ฌ๊ฒฐ์ •
      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ข…๋ฅ˜
      • ํŠธ๋žœ์žญ์…˜๊ณผ ๋ฌด๊ฒฐ์„ฑ
      • ํŠธ๋žœ์žญ์…˜, ์ปค๋ฐ‹, ๋กค๋ฐฑ, ํŠธ๋žœ์žญ์…˜ ์ „ํŒŒ
      • ERD, entity relationship diagram
      • ๊ธฐ๋ณธ 3 - ๊ด€๊ณ„, ํ‚ค
      • ๊ธฐ๋ณธ 2 - ํ•„๋“œ, ๋ ˆ์ฝ”๋“œ, ํƒ€์ž…
      • ๊ธฐ๋ณธ 1 - ์—”ํ‹ฐํ‹ฐ, ๋ฆด๋ ˆ์ด์…˜, ์†์„ฑ, ๋„๋ฉ”์ธ
    • SQL
      • Sub Query
      • JOIN
      • ๋ฐ์ดํ„ฐ ์ •๋ ฌ์…‹๊ณผ ์œ ๋‹ˆ์ฝ”๋“œ
      • ์ž๋ฃŒํ˜•
      • DDL, DML
      • SELECT
      • SQL
    • MySQL
      • MSQL to MySQL Data Migration
      • MySQL Server ๋‹ค์šด๋กœ๋“œ, ๋กœ๊ทธ์ธ
      • helpful commands
      • ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ SUBSTR(column, startIdx, length)
      • ํŠน์ • ๊ฐ’์„ ORDER BY ํŠน์ • ๊ฐ’ ์šฐ์„  ์ •๋ ฌ ํ•˜๊ธฐ (ORDER BY FIELD)
      • ์ด๊ฒƒ์ด MySQL์ด๋‹ค
    • H2
      • โ€ผ๏ธh2 in-memory-db Table not found (this database is empty) ํ•ด๊ฒฐ๋ฐฉ๋ฒ•
  • Dev-General
    • Webmark
    • Open Source
      • ๋‚˜์˜ ์ฒซ opensource contribution ๊ฒฝํ—˜๊ธฐ
    • Dev-Insight
      • Event
        • YOUTHCON 2022
        • INFCON 2022
      • ์ฑ… <๋ˆ„์›Œ์„œ ์ฝ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜>
      • ์ฑ… <๋‚˜๋Š” LINE ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค>
      • ์„œ๋น„์Šค์— ๋Œ€ํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ€์ ธ์•ผํ•  ์ƒ๊ฐ๋“ค
      • AI ์‹œ๋Œ€์—์„œ ๊ฒฐ๊ตญ ์‚ด์•„๋‚จ๋Š” ๊ฒƒ
      • AI ์‹œ๋Œ€์— ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ด์•„๋‚จ๋Š” ๋ฐฉ๋ฒ•
      • ์ฃผ๋‹ˆ์–ด๋ฅผ ๋„˜์–ด์„œ, ์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž์˜ ๊ธธ (์ธํ”„๋Ÿฐ)
      • ์•„๋งˆ์ถ”์–ด์™€ ํ”„๋กœ์˜ ์ฐจ์ด
      • ๊ฐœ๋ฐœ์ž์˜ ๊ฐœ๋ฐœ๊ณต๋ถ€์— ๋Œ€ํ•˜์—ฌ
      • ์„œ๋น„์Šค์— ๋Œ€ํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐ€์ ธ์•ผํ•  ์ƒ๊ฐ๋“ค
      • ์ข‹์€ ๊ฐœ๋ฐœ์ž์™€ ์ธ๋งฅ์„ ๋งŒ๋“  ๋…ธํ•˜์šฐ
      • ๊ฐœ๋ฐœ์ž ์ทจ์—…๊ธฐ/์ด์ง๊ธฐ ๋ชจ์Œ
        • ๋ผ์ธ๊ฒŒ์ž„์ฆˆ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๊ฒฝ์„ ๋‹˜
        • OKKY ๋ฏธ๋‹ˆ์„ธ๋ฏธ๋‚˜ <๋น„์ „๊ณต ํ•™์›์ถœ์‹  SI๊ฐœ๋ฐœ์ž, ์œ ๋ช…์Šคํƒ€ํŠธ์—… ๋“ค์–ด๊ฐ„.ssul> ์ฐธ์„ ํ›„๊ธฐ
        • ๋น„์ „๊ณต์ž์—์„œ 2์–ต๋ฐ›๋Š” ์•„๋งˆ์กด ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜๊ธฐ๊นŒ์ง€
        • IT ๋Œ€๊ธฐ์—… 100% ํ•ฉ๊ฒฉํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ๐Ÿ—๏ธcomputer science
    • Algorithm & Data Structure
      • About this page
      • Test Review
        • Page 1
      • Big-O
        • ๋น…์˜คํ‘œ๊ธฐ๋ฒ•์˜ ๋ฌธ์ œํ’€์ด
        • ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์˜ ์‹œ๊ฐ„๋ณต์žก๋„
      • Bit Operation
        • bit masking
      • Math
        • ํ•ฉ๊ณต์‹ / ๋ˆ„์ ํ•ฉ
        • ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜
        • ์•ฝ์ˆ˜์ฐพ๊ธฐ
        • ์†Œ์ˆ˜์ฐพ๊ธฐ
          • ๋ฐฑ์ค€ 1978 ์†Œ์ˆ˜์ฐพ๊ธฐ
          • ๋ฐฑ์ค€4948 ๋ฒ ๋ฅดํŠธ๋ž‘ ๊ณต์ค€
          • ๋ฐฑ์ค€ 8393 ํ•ฉ
          • ๋ฐฑ์ค€ 1929 ์†Œ์ˆ˜๊ตฌํ•˜๊ธฐ
        • ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ / ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜
          • ๋ฐฑ์ค€ 2824 ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜, BigInteger
          • ๋ฐฑ์ค€ 2609 ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜, ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜
        • ์ˆœ์—ด๊ณผ ์กฐํ•ฉ
          • ๋ฐฑ์ค€ 15649 N๊ณผ M
        • ๊ทธ ์™ธ ๊ฐœ๋… ์ •๋ฆฌ
      • Recursion
        • N Queens problem
        • counting cells in a blob
        • recursion ์‘์šฉ - ๋ฏธ๋กœ์ฐพ๊ธฐ
        • ์ˆœํ™˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ค๊ณ„
        • ์ˆœํ™˜์ ์œผ๋กœ ์‚ฌ๊ณ ํ•˜๊ธฐ
        • ๋ฐฑ์ค€ 17478 ์žฌ๊ท€ํ•จ์ˆ˜๊ฐ€ ๋ญ”๊ฐ€์š”
        • ๋ฐฑ์ค€ 10870 ํ”ผ๋ณด๋‚˜์น˜์ˆ˜ 5
      • Sort
        • java ์—์„œ์˜ ์ •๋ ฌ
        • radix sort
        • sorting in linear time
        • comparison sort ์—์„œ ์ตœ์ƒ์˜ ์‹œ๊ฐ„๋ณต์žก๋„
        • priority queue
        • heap sort
        • quick sort
        • merge sort
      • Array and List
        • ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
      • Linked list
      • String
      • Stack
        • ๋ฐฑ์ค€ 1874 ์Šคํƒ์ˆ˜์—ด
        • ๋ฐฑ์ค€ 10828 ์Šคํƒ ๊ตฌํ˜„ํ•˜๊ธฐ
      • Queue
        • ๋ฐฑ์ค€ 10845 ํ ๊ตฌํ˜„ํ•˜๊ธฐ
      • Heap
        • ๋ฐฑ์ค€ 11298 ์ ˆ๋Œ€๊ฐ’ํž™
        • ๋ฐฑ์ค€11279 ์ตœ๋Œ€ํž™
        • ๋ฐฑ์ค€1927 ์ตœ์†Œํž™
      • Deque
      • Tree and Binary tree
        • Tries
        • Red-Black Tree
        • Binary Search Tree
      • Search
        • ์™„์ „ ํƒ์ƒ‰
        • ์ด๋ถ„ํƒ์ƒ‰
      • Graph
        • ์ตœ๋‹จ๊ฒฝ๋กœ
        • MST 2 - prim ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜
        • MST 1 - Kruskal ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜
        • MST, minumum spanning tree
        • DAG, Directed Acyclic Graph
        • DFS, Depth First Search
        • BFS, Breadth First Search
      • Dynamic Programming
        • Knapsack problem
        • LCS, Longest Common Subsequence
        • matrix chain
        • ํ–‰๋ ฌ ๊ฒฝ๋กœ ๋ฌธ์ œ
        • ๋ฐฑ์ค€ 1003 ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜
        • ๋ฐฑ์ค€ 9461 ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด
        • ๋ฐฑ์ค€9251 LCS
      • Greedy
      • Implementation
      • LIS, Longest Increasing Subsequence
      • Two Pointer
      • Line Swipping
      • Fenwick tree
      • Backtracking
    • Computer Structure
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • ๊ทธ๋ž˜์„œ ์ปดํ“จํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋‚˜์š”?
      • ์ปดํ“จํ„ฐ์˜ ๊ตฌ์„ฑ
      • ์ปดํ“จํ„ฐ์˜ ์—ญ์‚ฌ
      • ์ปดํ“จํ„ฐ ๊ตฌ์„ฑ์š”์†Œ์˜ ๊ธฐ๋Šฅ ๋ฐ ์ดํ•ด
      • ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜ - ๋งˆ์ดํฌ๋กœ ๋ช…๋ น - ์ž…์ถœ๋ ฅ๊ณผ ์ธํ„ฐ๋ŸฝํŠธ
      • ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜ - ๊ธฐ๋ณธ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      • ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜ - ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ์‹คํ–‰
      • ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ๋ฒกํ„ฐ์ฒ˜๋ฆฌ - ๋ฐ์ดํ„ฐ์˜ ์ข…์†์„ฑ - ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ์™€ ํŒŒ์ดํ”„๋ผ์ธ
      • ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ๋ฒกํ„ฐ์ฒ˜๋ฆฌ - ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์กฐ - ๋ฐ์ดํ„ฐ/๊ตฌ์กฐ
      • ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ๋ฐฑํ„ฐ์ฒ˜๋ฆฌ - ์‚ฐ์ˆ &๋ช…๋ น์–ด ํŒŒ์ดํ”„๋ผ์ธ
      • ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ๋ฒกํ„ฐ์ฒ˜๋ฆฌ - ํŒŒ์ดํ”„๋ผ์ธ CPU์˜ ์„ฑ๋Šฅ๋ถ„์„
      • ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ - ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์˜ ์ดํ•ด
      • ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ - ํšจ์œจ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ •์ฑ…
      • ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ - ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ
      • ์ž…์ถœ๋ ฅ๊ตฌ์กฐ - ์‹œ์Šคํ…œ BUS ๊ตฌ์„ฑ ๋ฐ ์ œ์–ด
      • ์ž…์ถœ๋ ฅ ๊ตฌ์กฐ - ์ž…์ถœ๋ ฅ(I/O) ์—ฐ๊ฒฐ๊ณผ ์ฃผ์†Œ ์ง€์ •
      • ์ž…์ถœ๋ ฅ ๊ตฌ์กฐ - ์ž…์ถœ๋ ฅ ์ˆ˜ํ–‰๊ณผ ์ธํ„ฐ๋ŸฝํŠธ
      • ๋ณ‘๋ ฌ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์™€ ์„ฑ๋Šฅ๋ถ„์„ - ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์„œ
      • ๋ณ‘๋ ฌ ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์™€ ์„ฑ๋Šฅ ๋ถ„์„ - ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ๋ถ„์„๊ณผ ๊ฐœ์„ 
    • This Is Coding Test 2021
      • 1. ์ถœ์ œ ๊ฒฝํ–ฅ & ํŒŒ์ด์ฌ ๋ฌธ๋ฒ• ๋ถ€์ˆ˜๊ธฐ
      • 2. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ & ๊ตฌํ˜„
      • 3. BFS & DFS
      • 4. ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • 5. ์ด์ง„ํƒ์ƒ‰
      • 6. ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      • 7. ์ตœ๋‹จ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • 8. ๊ธฐํƒ€ ๊ทธ๋ž˜ํ”„ ์ด๋ก 
      • 9. ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ์ž์ฃผ ์ถœ์ œ๋˜๋Š” ๊ธฐํƒ€ ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • 10. ๊ฐœ๋ฐœํ˜• ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    • Operating System
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • ์šด์˜์ฒด์ œ๋ž€, Introduction to Operating Systems
      • ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ, Structure of Computer System
      • ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰, Program Execution
      • ํ”„๋กœ์„ธ์Šค, Process
      • ์“ฐ๋ ˆ๋“œ, Thread
      • ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ๊ณผ ์ข…๋ฃŒ, Start and End of Process
      • ํ”„๋กœ์„ธ์Šค ์‹œ์Šคํ…œ ์ฝœ๊ณผ ํ”„๋กœ์„ธ์Šค๊ฐ„์˜ ํ˜‘๋ ฅ, System call and Interprocess Communication
      • CPU Scheduling
      • CPU Scheduling Algorithm
      • Process Synchronization Problem
      • Initial Attempts to Solve Process Synchronization Problem
      • semaphore ์™€ monitor ๋กœ synchronization ํ•ด๊ฒฐํ•˜๊ธฐ
      • ๋ฐ๋“œ๋ฝ, Deadlock
      • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, Memory Management
      • Memory Allocation
      • Virtual Memory
      • Virtual Memory 2
      • File System
      • File Systems Implementation
      • Disk Management & Scheduling
    • Network
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ์œผ๋กœ ์ธํ•œ ์„œ๋ฒ„ ๊ณผ๋ถ€ํ•˜ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•
      • ์œ ์„  LAN๊ณผ ๋ฌด์„  LAN
      • ๋„คํŠธ์›Œํฌ๋ฅผ ์ด๋ฃจ๋Š” ์žฅ์น˜ (L1, L2 .. L7)
      • REST API
      • HTTP ๋งค์„œ๋“œ
      • HTTP ์ƒํƒœ์ฝ”๋“œ
      • ์ง๋ ฌํ™”์™€ ์—ญ์ง๋ ฌํ™”
      • ๋กœ๊ทธ์ธ ๊ตฌํ˜„๋ฐฉ์‹ 2. ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ๋ฐฉ์‹
      • ๋กœ๊ทธ์ธ ๊ตฌํ˜„๋ฐฉ์‹ 1. ์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ธ์ฆ๋ฐฉ์‹
      • ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์บ์‹œ - ๊ณตํ†ต์ ๊ณผ ์ฐจ์ด์ 
      • ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์บ์‹œ - ์ฟ ํ‚ค
      • HTTP header
      • ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์บ์‹œ - ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€
      • ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์บ์‹œ - ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€
      • browser rendering
      • HTTPS ์™€ TLS - TLS ํ•ธ๋“œ์‰์ดํฌ
      • HTTPS ์™€ TLS - ์•”ํ˜ธํ™”
      • HTTP History
      • www.naver.com ์„ ์ฃผ์†Œ์ฐฝ์— ์ž…๋ ฅํ•˜๊ณ  ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜๊ธฐ๊นŒ์ง€์˜ ๊ณผ์ •
      • IP ์ฃผ์†Œ - ๊ณต์ธ IP์™€ ์‚ฌ์„ค IP
      • IP ์ฃผ์†Œ - Classless,Subnet Mask, Subnetting
      • IP ์ฃผ์†Œ - Classful IP Addressing
      • IP ์ฃผ์†Œ - IPv4, IPv6
      • IP ์ฃผ์†Œ - ์ด์ง„์ˆ˜ ์ดํ•ดํ•˜๊ธฐ
      • IP ์ฃผ์†Œ, MAC ์ฃผ์†Œ, ARP, RARP
      • ๋ผ์šฐํŒ…
      • TCP 4way handshake and TIME_WAIT
      • TCP 3way handshake
      • TCP/IP - internet layer
      • TCP/IP - Transport Layer
      • TCP/IP - Application Layer
      • TCP/IP - MTU, MSS, PMTUD
      • TCP/IP 4๊ณ„์ธต, OSI 7 layer
      • ๋„คํŠธ์›Œํฌ์˜ ๋ถ„๋ฅ˜ - LAN, MAN, WAN
      • ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€์™€ ๋ณ‘๋ชฉํ˜„์ƒ
      • ๋„คํŠธ์›Œํฌ์˜ ๊ธฐ์ดˆ 3
      • ๋„คํŠธ์›Œํฌ์˜ ๊ธฐ์ดˆ 2
      • ๋„คํŠธ์›Œํฌ์˜ ๊ธฐ์ดˆ
    • Linux
      • reference
      • sudo apt-get install / uninstall
      • vim
      • linux basic command
    • Design Pattern
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • static ์„ ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์„ ๋•Œ์˜ ๋‹จ์ 
      • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ class์™€ static
      • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ปจํ…์ŠคํŠธ
      • ์˜์กด์„ฑ ์ฃผ์ž… vs. ์ „๋žตํŒจํ„ด
      • flux pattern
      • Spring MVC ํŒจํ„ด ์ ์šฉ ์‚ฌ๋ก€
      • MVC, MVP, MVVM pattern
      • ํ”„๋ก์‹œ ํŒจํ„ด
      • ์˜ต์ €๋ฒ„ ํŒจํ„ด
      • ์ „๋žตํŒจํ„ด
      • ์˜์กด์„ฑ ์ฃผ์ž…๊ณผ ์˜์กด ๊ด€๊ณ„ ์—ญ์ „ ์›์น™
      • ์ดํ„ฐ๋ ˆ์ด์…˜ ํŒจํ„ด
      • ์ถ”์ƒ ํŒฉํ† ๋ฆฌ ๋งค์†Œ๋“œ ํŒจํ„ด
      • ํŒฉํ† ๋ฆฌ ๋ฉ”์†Œ๋“œ ํŒจํ„ด
      • ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด
      • ๋””์ž์ธ ํŒจํ„ด, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ฐจ์ด
    • Programming Basic (Go)
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • ํŠธ๋žœ์ง€์Šคํ„ฐ, Trangister
      • ๋…ผ๋ฆฌ์†Œ์ž, Logic Element
      • ํŠœ๋ง๊ณผ ํฐ ๋…ธ์ด๋งŒ, Turing and Von Neumann
      • ์ปดํ“จํ„ฐ์˜ ์›๋ฆฌ, Computer Principle
      • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, Programming Language
      • ์ปดํŒŒ์ผ๋Ÿฌ์™€ ๋™์ ์–ธ์–ด, Compiler and dynamic language
      • golang
      • hello, world
      • variable
      • variable 2
    • Base Knowledge
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • ์‹ ๊ธฐ์ˆ  ๋„์ž…์‹œ ๊ณ ๋ฏผํ•ด์•ผํ•  ์ (feat. react.js vs. vue.js)
      • ์ •์  ํƒ€์ž… ์‹œ์Šคํ…œ์˜ ํ•„์š”์„ฑ
      • ๋„์ปค, ์ปจํ…Œ์ด๋„ˆ
      • ํด๋ผ์šฐ๋“œ, Saas, IaaS, PaaS
      • SSO
      • RBAC
      • OAuth2.0
      • REST API ์‚ฌ์šฉ์„ ์œ„ํ•œ ์ธ์ฆ ๋ฐฉ๋ฒ• 4๊ฐ€์ง€
      • API
      • Data Format - XML
      • Data Format - JSON
  • โ˜•Java/Spring
    • Java
      • Java Code Convention
      • Java ๋ฒ„์ „๋ณ„ ํŠน์ง• (v1-v19)
      • java.lang.Math
      • List 4๊ฐ€์ง€์˜ ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ•
      • HashMap 4๊ฐ€์ง€์˜ ์ •๋ ฌ ๋ฐฉ๋ฒ•
      • ์–ด๋…ธํ…Œ์ด์…˜ ํ”„๋กœ์„ธ์„œ ์ •๋ฆฌํ•˜๊ธฐ
      • Annotation Processor ๋กœ ์—†๋Š” ์†Œ์Šค์ฝ”๋“œ ์ƒ์„ฑํ•˜๊ธฐ
      • lombok ์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ผ๊นŒ?
      • ๋‹ค์ด๋‚ด๋ฏน ํ”„๋ก์‹œ ์ •๋ฆฌํ•˜๊ธฐ
      • ํด๋ž˜์Šค์˜ ํ”„๋ก์‹œ
      • ๋‹ค์ด๋‚ด๋ฏน ํ”„๋ก์‹œ
      • ํ”„๋ก์‹œ ํŒจํ„ด์€ ๋ฌด์—‡์ธ๊ฐ€
      • Spring Data JPA ๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ?
      • reflection api ์ •๋ฆฌ
      • reflection api ์ด์šฉํ•˜์—ฌ spring ioc container ๋งŒ๋“ค๊ธฐ
      • reflection api
      • spring dependency injection ์€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ
      • ๋ฐ”์ดํŠธ ์ฝ”๋“œ ์กฐ์ž‘ํ•˜๊ธฐ
      • java bytecode ๋ฅผ ์กฐ์ž‘ํ•ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ํ™•์ธํ•˜๊ธฐ (feat.jacoco)
      • Class Loader
      • JVM ์˜ ๊ตฌ์กฐ
      • java, jvm, jdk and jre
      • synchronized
      • java string.split(".") ์˜ค๋ฅ˜
    • Java 8
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • Metaspace
      • Parallel ์ •๋ ฌ
      • Annotation
      • CompletableFuture
      • Date and Time
      • Optional
      • Stream
      • interface์˜ default ๋ฉ”์†Œ๋“œ์™€ static ๋ฉ”์†Œ๋“œ
      • ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ณ€ํ™”
      • ํ•จ์ˆ˜ํ˜• ์ธํ„ฐํŽ˜์ด์Šค
      • java 8 ์†Œ๊ฐœ
    • Spring Framework
      • Spring 3.0 ์ค€๋น„ํ•˜๊ธฐ
      • ํŠน์ • ๋งค์†Œ๋“œ๋งŒ transaction ์ฒ˜๋ฆฌํ•˜๊ธฐ
      • ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ํ•˜๊ธฐ
      • ์Šคํ”„๋ง์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€
      • ์Šคํ”„๋ง ํ•ต์‹ฌ ๊ธฐ์ˆ ์˜ ์‘์šฉ
      • AOP 2
      • AOP 1
      • ์„œ๋น„์Šค ์ถ”์ƒํ™” 2
      • ์„œ๋น„์Šค ์ถ”์ƒํ™” 1
      • ์˜ˆ์™ธ
      • ํ…œํ”Œ๋ฆฟ
      • ํ…Œ์ŠคํŠธ
      • ์˜ค๋ธŒ์ ํŠธ์™€ ์˜์กด๊ด€๊ณ„
      • ์Šคํ”„๋ง์ด๋ž€
    • Spring Boot
      • [Gradle]UncheckedIOException
      • java19 + spring 3.0.5 + gradle 7.4.1 ์—์„œ ํ”„๋กœ์ ํŠธ gradle ์„ค์ •ํ•˜๊ธฐ
      • [๋ฆฌ๋ทฐ] Gradle ๋ฉ€ํ‹ฐ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ
      • [๋ฆฌ๋ทฐ] ๋ฉ€ํ‹ฐ๋ชจ๋“ˆ ์„ค๊ณ„ ์ด์•ผ๊ธฐ with Spring, Gradle
    • JPA/QueryDSL
      • querydsl ์„ ์“ฐ๋Š” ์ด์œ 
      • JPA querydsl์—์„œ json array ๋กœ ๋œ ์ปฌ๋Ÿผ์— ์กฐ๊ฑด ์ ์šฉํ•˜๊ธฐ
      • querydsl ์—์„œ mysql order by field() ์‚ฌ์šฉํ•˜๊ธฐ
  • ๐ŸฐInfrastructure
    • InfraWorkshop
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • aws๋กœ ์•ˆ์ •์ ์ธ ์ธํ”„๋ผ ๋งŒ๋“ค๊ธฐ 2
      • aws๋กœ ์•ˆ์ •์ ์ธ ์ธํ”„๋ผ ๋งŒ๋“ค๊ธฐ 1
      • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ง„๋‹จํ•˜๊ธฐ
      • ์„œ๋ฒ„ ์ง„๋‹จํ•˜๊ธฐ
      • ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ
      • ์›น ์„ฑ๋Šฅ ๊ฐœ์„ ํ•˜๊ธฐ
      • ์›น ์„ฑ๋Šฅ ์ง„๋‹จํ•˜๊ธฐ
      • <aws๋กœ ๊ทธ๋Ÿด๋“ฏํ•œ ์ธํ”„๋ผ ๋งŒ๋“ค๊ธฐ> ํšŒ๊ณ ์™€ ํ”ผ๋“œ๋ฐฑ
      • aws๋กœ ๊ทธ๋Ÿด๋“ฏํ•œ ์ธํ”„๋ผ ๋งŒ๋“ค๊ธฐ 3 - ๋ฐฐํฌ์Šคํฌ๋ฆฝํŠธ
      • aws๋กœ ๊ทธ๋Ÿด๋“ฏํ•œ ์ธํ”„๋ผ ๋งŒ๋“ค๊ธฐ 2 - ๋ฐฐํฌํ•˜๊ธฐ
      • aws๋กœ ๊ทธ๋Ÿด๋“ฏํ•œ ์ธํ”„๋ผ ๋งŒ๋“ค๊ธฐ 1 - ๋„คํŠธ์›Œํฌ ๋ง ๊ตฌ์„ฑ
      • docker container
      • connection check
      • network segmentation
      • cloud ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ
    • AWS
      • AWS IAM
      • AWS CodePipeline ์œผ๋กœ ๋ฐฐํฌ ์ž๋™ํ™”ํ•˜๊ธฐ (1)
      • AWS CodePipeline ์œผ๋กœ ๋ฐฐํฌ ์ž๋™ํ™”ํ•˜๊ธฐ (2)
  • ๐Ÿช„Test
    • TDD
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • [2์ฃผ์ฐจ] ๋กœ๋˜ ๊ณผ์ œ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ ๋‚˜์„œ
      • [1์ฃผ์ฐจ] ์ž๋™์ฐจ ๊ฒฝ์ฃผ ๊ณผ์ œ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ ๋‚˜์„œ
      • TDD, ๋ฆฌํŒฉํ† ๋ง์ด๋ž€?
      • ๊ฐ€์žฅ ์‰ฝ๊ฒŒ TDD ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•
      • ์˜์‹์ ์ธ ์—ฐ์Šต๊ณผ ํ•™์Šต ํ…Œ์ŠคํŠธ
      • TDD ์— ์ง‘์ฐฉํ•ด์•ผํ•˜๋Š” ์ด์œ 
      • ๊ณต๋ถ€ํ•˜๋Š” ์ž์„ธ
    • AssertJ
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
    • JUnit
      • ์ด ์œ„ํ‚ค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋“ค
      • Junit ๊ธฐ๋ณธ ๊ฐœ๋…
  • ๐Ÿ˜ŽOTHERS
    • Helpful Command
      • Mac ์—์„œ ํŠน์ • ํฌํŠธ ๊ฒ€์ƒ‰, ์ข…๋ฃŒ
      • crontab
    • Llibrary
    • IntelliJ
      • ๋‚ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์ปค์Šคํ…€ ์„ธํŒ…
    • GIT
      • Github ID/Token ํ•œ๋ฒˆ ์ž…๋ ฅ ํ›„ ์ €์žฅํ•˜๊ธฐ
      • Github Actions
      • github organization private repository push ์•ˆ๋  ๋•Œ (not found issue)
      • commands
      • git commit convention
    • Logging
      • logback + webfilter ๋กœ ๋กœ๊ทธ์„ค์ •
      • โ€ผ๏ธlog4j ๋ณด์•ˆ ์ด์Šˆ
    • Postman
      • postman ์˜ header์—์„œ ์–ธ๋”๋ฐ”(_) ๋ณ€์ˆ˜ ์ธ์‹ ์•ˆ๋˜๋Š” ํ˜„์ƒ
Powered by GitBook
On this page
  • BFS & DFS
  • ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—
  • DFS : Depth First Search
  • BFS : Breadth First Search
  • ์Œ๋ฃŒ์ˆ˜ ์–ผ๋ ค๋จน๊ธฐ
  • ๋ฏธ๋กœํƒˆ์ถœ๋ฌธ์ œ

Was this helpful?

  1. computer science
  2. This Is Coding Test 2021

3. BFS & DFS

Previous2. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ & ๊ตฌํ˜„Next4. ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

Last updated 2 years ago

Was this helpful?

๐Ÿ’ก ๋™๋นˆ๋‚˜ ๋‹˜์˜ ๋ฅผ ๋ณด๋ฉด์„œ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š” ๐Ÿ˜Š ํ•™์Šต ๋„๊ตฌ๋กœ๋Š” ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ณ  ์›๋ณธ ์†Œ์Šค์ฝ”๋“œ๋Š” ๋™๋นˆ๋‹˜์˜ ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ  ์Šค์Šค๋กœ ๊ณต๋ถ€ํ•œ ์†Œ์Šค์ฝ”๋“œ๋Š” ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

BFS & DFS

  • ๋Œ€ํ‘œ์ ์ธ ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ํƒ์ƒ‰์ด๋ž€ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ ์ค‘์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š” ๊ณผ์ •!

  • DFS/BFS ๋Š” ์ฝ”ํ…Œ์—์„œ ๋งค์šฐ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ์œ ํ˜•์ž„!

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

์Šคํƒ

  • ๋จผ์ € ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚˜์ค‘์— ๋‚˜๊ฐ€๋Š” ํ˜•์‹์˜ ์ž๋ฃŒ๊ตฌ์กฐ

  • ์„ ์ž…ํ›„์ถœ

  • ์ž…๊ตฌ์™€ ์ถœ๊ตฌ๊ฐ€ ๋™์ผํ•œ ํ˜•ํƒœ๋กœ ์Šคํƒ์„ ์‹œ๊ฐํ™”ํ•จ

    • ์˜ˆ) ๋ฐ•์Šค์Œ“๊ธฐ

  • ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์‚ฌ์šฉ๋จ

  • ์—ฐ์‚ฐ

    • ๋ฆฌ์ŠคํŠธ๋ฅผ ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ ๊ตฌํ˜„์„ ์œ„ํ•ด ์ด์šฉํ•  ์ˆ˜ ์žˆ์Œ

    • ์‚ฝ์ž… : stack.append(n)

    • ์‚ญ์ œ : stack.pop()

    • ์ตœ์ƒ๋‹จ ์›์†Œ๋ถ€ํ„ฐ ์ถœ๋ ฅ : print(stack[::-1])

    • ์ตœํ•˜๋‹จ ์›์†Œ๋ถ€ํ„ฐ ์ถœ๋ ฅ : print(stack)

  • ์ž๋ฐ”

    • stack ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Œ

    • ์‚ฝ์ž… : push(n)

    • ์‚ญ์ œ : pop()

    • ์ตœ์ƒ๋‹จ ์›์†Œ์ถœ๋ ฅ : peek()

ํ

  • ๋จผ์ € ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜๊ฐ€๋Š” ํ˜•์‹์˜ ์ž๋ฃŒ๊ตฌ์กฐ

  • ์„ ์ž…์„ ์ถœ

  • ์ž…๊ตฌ์™€ ์ถœ๊ตฌ๊ฐ€ ๋ชจ๋‘ ๋šซ๋ ค์žˆ๋Š” ํ„ฐ๋„๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์‹œ๊ฐํ™”

  • ์˜ˆ์‹œ) ์€ํ–‰ ๋Œ€๊ธฐ์ค„

  • ์—ฐ์‚ฐ

    • ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„์€ ํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค.

    • ๋”ฐ๋ผ์„œ python ์—์„œ๋Š” deque() ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•จ

    • ์‚ฝ์ž… : append(n)

    • ์‚ญ์ œ : popeleft()

    • ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅ : queue

    • ์—ญ์ˆœ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ : queue.reverse()

  • java

    • queue ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•จ : linkedList

    • ์‚ฝ์ž… : offer(n)

    • ์‚ญ์ œ : poll()

    • ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅ : for loop + q.poll()

์žฌ๊ท€ํ•จ์ˆ˜

  • ์ž๊ธฐ์ž์‹ ์„ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜

  • recursive function

  • ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ์žฌ๊ท€ํ•จ์ˆ˜ ์˜ˆ์ œ

    • ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค ๋ฅผ ๋ฌดํ•œํžˆ ์ถœ๋ ฅ

    • ์–ด๋А์ •๋„ ์ถœ๋ ฅํ•˜๋‹ค๊ฐ€ ์ตœ๋Œ€ ์žฌ๊ท€ ๊นŠ์ด ์ดˆ๊ณผ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋จ

def recursive_func():
  print("์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!")
  recursive_func()

recursive_func()

# ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# Traceback (most recent call last):
#   File "main.py", line 8, in <module>
#     recursive_func()
#   File "main.py", line 6, in recursive_func
#     recursive_func()
#   File "main.py", line 6, in recursive_func
#     recursive_func()
#   File "main.py", line 6, in recursive_func
#     recursive_func()
#   [Previous line repeated 992 more times]
#   File "main.py", line 5, in recursive_func
#     print("์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!")
# RecursionError: maximum recursion depth exceeded while calling a Python object
# exit status 1
  • ์ผ๋ฐ˜์ ์œผ๋กœ ์žฌ๊ท€ํ•จ์ˆ˜๋Š” ํŠน์ • ์กฐ๊ฑด์—์„œ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ๋„๋ก ์ข…๋ฃŒ์กฐ๊ฑด์„ ๋ช…์‹œํ•ด์•ผํ•œ๋‹ค.

def recursive_func(i):
  if i == 100:
    return
  
  print(i, "๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜์—์„œ", i+1, " ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!")
  recursive_func(i+1)

  print(i, "๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค!")


recursive_func(1)


# 95 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜์—์„œ 96  ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# 96 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜์—์„œ 97  ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# 97 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜์—์„œ 98  ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# 98 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜์—์„œ 99  ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# 99 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜์—์„œ 100  ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค!
# 99 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค!
# 98 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค!
# 97 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค!
# 96 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค!
# 95 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค!
# 94 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค!
# 93 ๋ฒˆ์งธ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค!

ํŒฉํ† ๋ฆฌ์–ผ ๊ตฌํ˜„๋ฌธ์ œ

  • n! = 1 * 2 * 3 ... * n

  • ์ˆ˜ํ•™์ ์œผ๋กœ 0! ๊ณผ 1! ์˜ ๊ฐ’์€ 1์ด๋‹ค.

  • ์ด ๋ฌธ์ œ๋Š” 1) ๋ฐ˜๋ณต์ ์œผ๋ก ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ 2) ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•, 2๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

# BFS & DFS
# ์žฌ๊ท€ํ•จ์ˆ˜
# ํŒฉํ† ๋ฆฌ์–ผ ๊ตฌํ˜„์˜ˆ์ œ 
# n! = 1 * 2 * 3  ... * n

## ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ตฌํ˜„
def loop(i):
  result = 1

  for i in range(1, i+1):
    result *= i
  return result

print(loop(5))  # 120


## ์žฌ๊ท€ํ•จ์ˆ˜๋กœ ๊ตฌํ˜„
def self_func(i):
  if i <= 1:
    return 1

  return i * self_func(i-1)

print(self_func(5))  #120

์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ๊ณ„์‚ฐ (์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•) ์˜ˆ์ œ

  • ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜์— ๋Œ€ํ•ด์„œ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์ด ์žˆ๋‹ค.

  • ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•

    • ๋‘ ์ž์—ฐ์ˆ˜ A, B ์— ๋Œ€ํ•˜์—ฌ A๋ฅผ B๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ R์ด๋ผ๊ณ  ํ• ๋•Œ

    • A, B์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋Š” B์™€ R์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜์™€ ๊ฐ™๋‹ค.

  • ์˜ˆ์‹œ) GCD(192, 162)

    • A / B

    • 192 / 162

    • 162 / 30

    • 30 / 12

    • 12 / 6

    • 6

# ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์œผ๋กœ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ
def gcd(a, b):
  if a % b == 0:
    return b
  else:
    return gcd(b, a % b)

print(gcd(192, 162))
# 6

์žฌ๊ท€ํ•จ์ˆ˜ ์‚ฌ์šฉ์‹œ ์œ ์˜์‚ฌํ•ญ

  • ์ž˜ ํ™œ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

    • ํ•˜์ง€๋งŒ ๋•Œ๋–„๋กœ ์˜คํžˆ๋ ค ๋‹ค๋ฅธ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šด ์ฝ”๋“œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผํ•จ

  • ๋ชจ๋“  ์žฌ๊ท€ํ•จ์ˆ˜๋Š” ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ -> ๊ทธ ๋ฐ˜๋Œ€๋„ ๊ฐ€๋Šฅ

  • ์žฌ๊ท€ ํ•จ์ˆ˜๊ฐ€ ๋ฐ˜๋ณต๋ฌธ๋ณด๋‹ค ์œ ๋ฆฌํ•œ ๊ฒฝ์šฐ๋„ ์žˆ๊ณ , ๋ถˆ๋ฆฌํ•œ ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค.

  • ์ปดํ“จํ„ฐ๊ฐ€ ํ•จ์ˆ˜๋ฅผ ์—ฐ์†์ ์œผ๋กœ ํ˜ธ์ถœํ•˜๋ฉด ์ปดํ“จํ„ฐ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ถ€์˜ ์Šคํƒ์— ํ”„๋ ˆ์ž„์ด ์Œ“์ธ๋‹ค.

    • ์Šคํƒ ์‚ฌ์šฉํ•ด์•ผํ•  ๋•Œ, ๊ตฌํ˜„์ƒ ์Šคํƒ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋Œ€์‹ ์— ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ

DFS : Depth First Search

  • ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰

  • ๊นŠ์€ ๋ถ€๋ถ„์„ ์šฐ์„ ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ ํ˜น์€ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ๋‹ค.

  • ๊ตฌ์ฒด์ ์ธ ๋™์ž‘๊ณผ์ •

    1. ํƒ์ƒ‰ ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ์Šคํƒ์— ์‚ฝ์ž…ํ•˜๊ณ  ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ

    2. ์Šคํƒ์˜ ์ตœ์ƒ๋‹จ ๋…ธ๋“œ์— ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ธ์ ‘ํ•œ ๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ์ž‡์œผ๋ฉด ๊ทธ ๋…ธ๋“œ๋ฅผ ์Šคํƒ์— ๋„ฃ๊ณ  ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ

    3. ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ธ์ ‘ ๋…ธ๋“œ๊ฐ€ ์—†์œผ๋ฉด ์Šคํƒ์—์„œ ์ตœ์ƒ๋‹จ ๋…ธ๋“œ๋ฅผ ๊บผ๋ƒ„

    4. ๋”์ด์ƒ 2๋ฒˆ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์„๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

# DFS - Deep first search

def dfs(graph, i, visited):
  visited[i] = True
  print(i, end=' ')

  for j in graph[i]:
    if not visited[j]:
      dfs(graph, j, visited)

graph = [
  [],
  [2, 3, 8],
  [1, 7],
  [1, 4, 5],
  [3, 5],
  [3, 4],
  [7],
  [2, 6, 8],
  [1, 7]
]

visited = [False] * 9

print(dfs(graph, 1, visited))

BFS : Breadth First Search

  • ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰

  • ๊ทธ๋ž˜ํ”„์—์„œ ๊ฐ€๊นŒ์šด ๋…ธ๋“œ๋ถ€ํ„ฐ ์šฐ์„ ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ํ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜๋ฉฐ ๋™์ž‘ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Œ

    1. ํƒ์ƒ‰ ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ํ์— ์‚ฝ์ž…ํ•˜๊ณ  ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค.

    2. ํ์—์„œ ๋…ธ๋“œ๋ฅผ ๊บผ๋‚ธ ๋’ค์— ํ•ด๋‹น ๋…ธ๋“œ์˜ ์ธ์ ‘๋…ธ๋“œ ์ค‘์—์„œ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ๋ฅผ ๋ชจ๋‘ ํ์— ์‚ฝ์ž…ํ•˜๊ณ  ๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค.

    3. ๋” ์ด์ƒ 2๋ฒˆ์˜ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

  • ์ตœ๋‹จ๊ฑฐ๋ฆฌ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

  • ๋™์ž‘์˜ˆ์‹œ

 # BFS - Breadth First Search
from collections import deque

def bfs(graph, i, visited):
  visited[i] = True
  queue = deque([i])

# queue ๊ฐ€ ๋นŒ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต
  while queue:
    v = queue.popleft()
    print(v, end=' ')

    for j in graph[v]:
      if not visited[j]:
        queue.append(j)
        visited[j] = True

graph = [
  [],
  [2, 3, 8],
  [1, 7],
  [1, 4, 5],
  [3, 5],
  [3, 4],
  [7],
  [2, 6, 8],
  [1, 7]
]

visited = [False] * 9

print(bfs(graph, 1, visited))
# 1, 2, 3, 8, 7, 4, 5, 6
# 1 2 3 8 7 4 5 6

์Œ๋ฃŒ์ˆ˜ ์–ผ๋ ค๋จน๊ธฐ

๋ฌธ์ œ

  • N * M ํฌ๊ธฐ์˜ ์–ผ์Œํ‹€์ด ์žˆ๋‹ค.

  • ๊ตฌ๋ฉ์ด ๋šซ๋ ค์žˆ๋Š” ๋ถ€๋ถ„์€ 0, ์นธ๋ง‰์ด๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ถ€๋ถ„์€ 1๋กœ ํ‘œ์‹œ๋œ๋‹ค.

  • ๊ตฌ๋ฉ์ด ๋šซ๋ ค์žˆ๋Š” ๋ถ€๋ถ„๋ผ๋ฆฌ ์ƒ, ํ•˜, ์ขŒ, ์šฐ๋กœ ๋ถ™์–ด์žˆ๋Š” ๊ฒฝ์šฐ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.

  • ์ด๋•Œ ์–ผ์Œํ‹€์˜ ๋ชจ์–‘์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ์•„์ด์Šคํฌ๋ฆผ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด๋ผ

  • ์˜ˆ) 4 * 5 ์˜ ์–ผ์Œํ‹€ -> ์•„์ด์Šคํฌ๋ฆผ์ด ์ด 3๊ฐœ

  • ์—ฐ๊ฒฐ์š”์†Œ์ฐพ๊ธฐ ๋ฌธ์ œ

  • ๋ฌธ์ œ์กฐ๊ฑด

    • ์„ธ๋กœ๊ธธ์ด, ๊ฐ€๋กœ๊ธธ์ด๊ฐ€ ์ฃผ์–ด์ง

    • ์–ผ์Œํ‹€์˜ ํ˜•ํƒœ๊ฐ€ ์ฃผ์–ด์ง

      • ๊ตฌ๋ฉ ๋ถ€๋ถ„ : 0

      • ๋ง‰ํžŒ ๋ถ€๋ถ„ : 1

  • ์ž…๋ ฅ์˜ˆ์‹œ

    • 4 5

    • 00110

    • 00011

    • 11111

    • 00000

  • ์ถœ๋ ฅ์˜ˆ์‹œ

    • 3

ํ•ด๊ฒฐ

  • ํ•ด๊ฒฐ์•„์ด๋””์–ด

    • 0 ๋ถ€๋ถ„๋ผ๋ฆฌ ์—ฐ๊ฒฐ๋œ ๋ฉ์–ด๋ฆฌ๊ฐ€ ๊ณง ์–ผ์Œ์ด ๋˜๋ฏ€๋กœ, ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋ฅผ ํ•œ ๋ฉ์–ด๋ฆฌ๋กœ ๋ณด๊ณ  visited count ๋ฅผ ์ฒดํฌํ•˜๋ฉด ๋œ๋‹ค.

    • DFS ๋กœ ํ’€์–ด๋ณด๊ธฐ TIP

      1. ํŠน์ •ํ•œ ์ง€์ ์˜ ์ฃผ๋ณ€ ์ƒ, ํ•˜, ์ขŒ, ์šฐ๋ฅผ ์‚ดํŽด๋ณธ ๋’ค์— ์ฃผ๋ณ€ ์ง€์  ์ค‘์—์„œ ๊ฐ’์ด '0' ์ด๊ณ  ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ง€์ ์ด ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ์ง€์ ์„ ๋ฐฉ๋ฌธํ•œ๋‹ค.

      2. ๋ฐฉ๋ฌธํ•œ ์ง€์ ์—์„œ ๋‹ค์‹œ ์ƒ, ํ•˜, ์ขŒ, ์šฐ๋ฅผ ์‚ดํ”ผ๋ฉด์„œ ๋ฐฉ๋ฌธ์„ ์ง„ํ–‰ํ•œ๋‹ค.

        1. ์ด๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์ง€์ ์„ ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ์Œ

      3. ๋ชจ๋“  ๋…ธ๋“œ์— ๋Œ€ํ•ด์„œ 1-2๋ฒˆ์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๊ณ  ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ์ง€์ ์˜ ์ˆ˜๋ฅผ ์นด์šดํŠธ ํ•œ๋‹ค.

# DFS & BFS ๋ฌธ์ œ
# ์Œ๋ฃŒ์ˆ˜ ์–ผ๋ ค๋จน๊ธฐ

# n, m ์ž…๋ ฅ๋ฐ›๊ธฐ
n, m = map(int, input().split())

# ํ˜„์žฌ ์–ผ์Œํ‹€ ์ƒํƒœ ์ž…๋ ฅ๋ฐ›๊ธฐ
ice_frames = []

for i in range(n):
  ice_frames.append(list(map(int, input())))

print(ice_frames)

# ์ด ๋ฉ์–ด๋ฆฌ ๊ฐœ์ˆ˜ : result
result = 0

# dfs func ์ •์˜
# - ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ๋ฐฉ๋ฌธ๋˜๋ฉด return True
# - ํ˜„์žฌ์œ„์น˜๊ฐ€ 0๋ฉด 1๋กœ ์ฑ„์šฐ๊ธฐ
# - ํ•ด๋‹น ์œ„์น˜๋ถ€ํ„ฐ ์ƒํ•˜์ขŒ์šฐ ๋ชจ๋‘ ๋ฐฉ๋ฌธ ์žฌ๊ท€ํ˜ธ์ถœ -> ๋ฐฉ๋ฌธ ๊ฐ€๋Šฅํ•˜๋ฉด 1๋กœ ์ฑ„์šฐ๋Š” ๊ณผ์ • ์žฌ๊ท€์ ์œผ๋กœ ๋ฐ˜๋ณตํ• ๊ฒƒ 

def dfs(x, y):
  if x <= -1 or x >= n or y <= -1 or y >= m:
    return False

  if ice_frames[x][y] == 0:
    ice_frames[x][y] = 1

    dfs(x-1, y)
    dfs(x+1, y)
    dfs(x, y-1)
    dfs(x, y+1)

    return True
  return False

# n, m for loop -> dfs ํ•จ์ˆ˜ ํ˜ธ์ถœํ•˜๊ธฐ 
# - visited == True -> result +=1
# print(result)
for i in range(n):
  for j in range(m):
    if dfs(i, j) == True:
      result += 1

print(result)

๋ฏธ๋กœํƒˆ์ถœ๋ฌธ์ œ

๋ฌธ์ œ

  • N * M ํฌ๊ธฐ์˜ ์ง์‚ฌ๊ฐํ˜• ํ˜•ํƒœ์˜ ๋ฏธ๋กœ๊ฐ€ ์žˆ๋‹ค.

  • ์—ฌ๋Ÿฌ๋งˆ๋ฆฌ์˜ ๊ดด๋ฌผ์ด ์ด์–ด์„œ ์ด๋ฅผ ํ”ผํ•ด์„œ ํƒˆ์ถœํ•ด์•ผํ•œ๋‹ค.

  • ์‚ฌ์šฉ์ž์˜ ์œ„์น˜๋Š” ํ˜„์žฌ (1, 1)์— ์žˆ๊ณ  ๋ฏธ๋กœ์˜ ํƒˆ์ถœ๊ตฌ๋Š” (N, M)์— ์žˆ๋‹ค.

  • ํ•œ๋ฒˆ์— ํ•œ์นธ์”ฉ๋งŒ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ๊ดด๋ฌผ์žˆ์œผ๋ฉด 0, ๊ดด๋ฌผ ์—†์œผ๋ฉด 1๋กœ ํ‘œ์‹œ๋˜์–ด์žˆ๋‹ค.

  • ๋ฏธ๋กœ๋Š” ๋ฐ˜๋“œ์‹œ ํƒˆ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋˜์–ด์žˆ๋‹ค.

  • ํƒˆ์ถœ์„ ์œ„ํ•ด ์›€์ง์—ฌ์•ผํ•˜๋Š” ์ตœ์†Œ ์นธ์˜ ๊ฐœ์ˆ˜๋Š” ๋ฌด์—‡์ผ๊นŒ?

  • 4<= N, M<=200

  • 0๊ณผ 1๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฏธ๋กœ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง

  • ์‹œ์ž‘๊ณผ ๋งˆ์ง€๋ง‰์€ ํ•ญ์ƒ 1

  • ์ž…๋ ฅ์˜ˆ์‹œ

5 6
101010
111111
000001
111111
111111
  • ์ถœ๋ ฅ์˜ˆ์‹œ

    • 10

ํ•ด๊ฒฐ

  • BFS ๋กœ ํ•ด๊ฒฐํ•จ

  • ์ฒ˜์Œ 1,1 ์—์„œ ์‹œ์ž‘

  • ๋งค๋ฒˆ ์ƒˆ๋กœ์šด ๋…ธ๋“œ์— ๋„๋‹ฌํ•  ๋•Œ ํ•ด๋‹น ๋…ธ๋“œ์˜ ๊ฐ’์„ +1 ๋กœ ๋ฐ”๊พธ์–ด์ค€๋‹ค.

  • ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ์˜ ๊ฐ’์ด 1์ผ๋•Œ๋งŒ move count ๋กœ +1 ํ•œ๋‹ค.

  • ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ์— ๋„๋‹ฌํ•  ๋•Œ๋Š” ์›€์ง์ธ ํšŸ์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

# ๋ฏธ๋กœ์ฐพ๊ธฐ ๋ฌธ์ œ 
# ์ž…๋ ฅ๊ฐ’: ๋ฏธ๋กœ์˜ ํฌ๊ธฐ (n, m), ๋ฏธ๋กœ์ •๋ณด
# ๋ฐ˜ํ™˜๊ฐ’ : ์ตœ๋‹จ๊ฑฐ๋ฆฌ
# ์•„์ด๋””์–ด
  # BFS ๋ฅผ ์ด์šฉ
  # ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ์˜ ๊ฐ’์„ +1 ๋ณ€๊ฒฝ
  # ๋…ธ๋“œ๊ฐ’์ด 1์ธ ๊ฒฝ์šฐ์—๋งŒ move cnt ๋กœ ์ฒดํฌํ•œ๋‹ค.

from collections import deque

n, m = map(int, input().split())
maze = []

for i in range(n):
  maze.append(list(map(int, input())))

dx = [+1, -1, 0, 0]
dy = [0, 0, -1, +1]

def bfs(x, y):
  queue = deque()
  queue.append((x, y))

  while queue:
    x, y = queue.popleft()

    for i in range(4):
      nx = x + dx[i]
      ny = y + dy[i]

      if nx < 0 or nx >= n or ny < 0 or ny >= m:
        continue
      
      if maze[nx][ny] == 0:
        continue
      
      if maze[nx][ny] == 1:
        maze[nx][ny] = maze[x][y] + 1
        queue.append((nx, ny))

  return maze[n-1][m-1]


print(bfs(0, 0))
๐Ÿ—๏ธ
์ด์ฝ”ํ…Œ 2021 ๊ฐ•์˜ ๋ชฐ์•„๋ณด๊ธฐ
์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค with ํŒŒ์ด์ฌ
๋ฆฌํ”Œ๋ ›
Github
Github