Computer Science/DS & Algorithm5 Linear Data Structure : μ€ν, ν, λ± κ°λ μλ£ κ°μ μ°κ²° ννμ λ°λΌ μλ£κ΅¬μ‘°μ μ’ λ₯λ₯Ό ꡬλ³νμ λ, μλ£λ₯Ό μμ°¨μ μΌλ‘ λμ΄ν ννλ₯Ό μ ν μλ£κ΅¬μ‘°λΌκ³ νλ€. νλμ μλ£ λ€μ λ€λ₯Έ νλμ μλ£κ° μ€λ νμμΌλ‘ μ ν μλ£κ΅¬μ‘° μμμλ κΈ°λ³Έ, μ νμΌλ‘ λλλ€. μ΄ κΈμμλ μ ν μ ν μλ£κ΅¬μ‘°μ μνλ μ€ν, ν, λ±μ λν΄ μ 리νλ€. μ€ν(Stack) μ€ν, ν, λ±μ κ°μ₯ ν° μ°¨μ΄μ μ λ°μ΄ν°μ μΆμ λ°©ν₯μ΄λ€. μ€νμ λ°μ΄ν°κ° λ€μ΄μ€κ³ λκ°λ κΈΈμ΄ ν λ°©ν₯ λ°μ μμ΄μ λ°μ΄ν°λ₯Ό μ€νμμ λΊ κ²½μ° μμ μ¬μ§κ³Ό κ°μ΄ λ€μ΄μ¨ κ³³μΌλ‘ λκ°κ² λλ€. μ± μ μλ κ²μ²λΌ μλμͺ½λΆν° κ°μ΄ 차곑차곑 μμ΄κΈ° λλ¬Έμ λμ€μ λ€μ΄μ¨ λ°μ΄ν°κ° λ¨Όμ λκ°λ LIFO(Last In First Out, νμ μ μΆ) ꡬ쑰μ΄λ€. μ μ΄λ―Έμ§μ²λΌ μΈλ‘ ννλ‘ μ€νμ μ€λͺ νλ κ·Έ.. 2021. 7. 4. Divide and Conquer : λΆν μ 볡 - ν΅ μ λ ¬ κ°λ λ°°μ΄μ λλ‘ λΆν νκ³ λΆν ν λ°°μ΄μ μ¬κ· νΈμΆλ‘ μ λ ¬νμ¬ νλμ λ°°μ΄λ‘ λ§λ λ€λ μ μ΄ ν©λ³μ λ ¬κ³Ό λΉμ·νμ§λ§, μ’/μ°λ₯Ό κ· λ±λΆν νλ κ²μ΄ μλλ€. pivot(κΈ°μ€ μμ)μ μ μ νμ¬ pivotλ³΄λ€ μμ μμλ λͺ¨λ μΌμͺ½ λ°°μ΄λ‘, ν¬κ±°λ κ°μ μμλ λͺ¨λ μ€λ₯Έμͺ½ λ°°μ΄λ‘ κ°λλ‘ λΆν νλ€. * μμ μ΄λ―Έμ§μμ κ²μμ λ°°κ²½μ μ«μκ° pivot νΉμ§ βͺ λΆμμ μ λ ¬ βͺ λΉκ΅ μ λ ¬(κ° λΉκ΅μ κΈ°λ°ν μ λ ¬ μκ³ λ¦¬μ¦) βͺ μ¬κ· νΈμΆμ΄ νλ² μ§νλ λλ§λ€ μ΅μν νλμ μμλ μμΉκ° κ²°μ λκΈ° λλ¬Έμ λ°λμ λλλ μκ³ λ¦¬μ¦μ΄λΌλ κ²μ 보μ₯ κ°λ₯ νλ¦ β pivot μ μ β‘ [λΆν ] pivotλ³΄λ€ μμ μμλ€μ΄ μμ μ€κ³ , λ€μλ κ°μ΄ ν¬κ±°λ κ°μ λͺ¨λ μμλ€μ΄ μ€λλ‘ λ°°μ΄μ λλ‘ λΆν β’ [μ 볡] λΆλΆ λ°°μ΄μ μ λ ¬(λ°°μ΄.. 2021. 4. 18. Divide and Conquer : λΆν μ 볡 - μ΄λΆνμ, ν©λ³μ λ ¬ κ°λ λ¬Έμ μ μ λ ₯ μ¬λ‘λ₯Ό λ κ° μ΄μμ μμ μΌμ΄μ€λ‘ λΆν ν ν λΆν ν μ λ ₯μ λ΅μ λ°λ‘ ꡬν μ μλ€λ©΄ μλ λ¬Έμ μ λ΅μ λΆν λ‘ μ»μ λ΅λ€μ ν΅ν΄ ꡬν μ μλ λ°©μ. μμ μ λ ₯ μ¬λ‘μ ν΄λ΅μ νμ μ λ ₯ μ¬λ‘ ν΄λ΅μ μ΄μ©ν΄ ꡬνκΈ° λλ¬Έμ νν₯μ(top-down) νμ΄ λ°©μμ μνλ€. μμ 1) μ΄λΆνμ 10 12 15 16 18 20 25 27 42 43 μ΄λΆνμμ μ¬μ©νλ €λ©΄ λ°°μ΄μ΄ μ΄λ―Έ μ λ ¬λ μνμ¬μΌ νλ€. μμ κ°μ λ°°μ΄μμ 27μ΄ λ°°μ΄ μμ μλμ§ νμΈνλ€κ³ κ°μ νμ. β [λΆν ] κ°μ΄λ°μ μμΉν μμλ₯Ό κΈ°μ€μΌλ‘ λ°°μ΄μ λλκ³ μ°Ύλ κ°μ΄ κ°μ΄λ° μμλ³΄λ€ μμΌλ©΄ μΌμͺ½ λ°°μ΄, ν¬λ©΄ μ€λ₯Έμͺ½ λ°°μ΄μ μ ν β‘ [μ 볡] β μμ μ νν λΆλΆμ μ°Ύκ³ μ νλ κ°μ΄ μλμ§ μ¬κ·μ μΌλ‘ μ΄λΆ κ²μ β’ [λ³ν©] β‘μμ.. 2021. 4. 16. Greedy : νμλ² κ°λ 맀 μκ°λ§λ€ κ·Έ μν©μμ κ°μ₯ μ΅μ μΈ μ νμ νλ λ°©μ. κ° λ¨κ³μμ λ΄λ¦° κ²°μ μ΄ μ μ²΄λ‘ λ΄€μ λλ μ΅μ μΌ κ±°λΌλ 보μ₯μ μλ€. μ μ¬μ§μ μ°Έκ³ νμ¬ μΈ μ«μμ ν©μ΄ κ°μ₯ μ»€μ§ μ μλ κ²½μ°λ₯Ό μκ°ν΄λ³΄μ. μ€μ λ‘ κ°μ₯ ν° μλ 109μ§λ§ Greedy algorithmμ κ²°κ³Όλ‘ λμ¨ κ°μ 25κ° λλ€. μ¬κΈ°μ 첫 μ€μ '맀 μκ°λ§λ€ κ·Έ μν©μμ κ°μ₯ μ΅μ μΈ μ νμ νλ λ°©μ'μ λ μ¬λ¦΄ μ μλ€. Greedy algorithmμ λ°λ₯Έ μ«μ μ ν κ³Όμ μ μλμ κ°λ€. β 7μμ μμ β‘ 3κ³Ό 12λ₯Ό λ§λ¬μ λ λ ν° μμΈ 12 μ ν(3μ μ νν κ²½μ° 99λ‘ κ° μ μμ§λ§ λ―Έλμ μ νμ λν΄μ μκ°νμ§ μμ) β’ 12μμ 5, 6μ λ§λ¬μ λ λ ν° μμΈ 6 μ ν νμ§λ§ νμλ²μ μ΄μ©ν΄ νμ λΆλΆ μ΅μ ν΄λ₯Ό .. 2021. 2. 23. [μ’ λ§λΆ] μκ³ λ¦¬μ¦ μ€κ³ ν¨λ¬λ€μ - 무μνκ² νκΈ° Brute-force (=exhaustive search) μ»΄ν¨ν°μ κ³μ° λ₯λ ₯μ μ΄μ©ν΄ κ°λ₯ν κ²½μ°μ μλ₯Ό λͺ¨λ λμ΄νλ©΄μ λ΅μ μ°Ύλ λ°©λ² 1. μ¬κ· νΈμΆκ³Ό μμ νμ β½ μ¬κ· νΈμΆ μμ μ΄ μνν μμ μ μ μ¬ν ννμ μ¬λ¬ μ‘°κ°μΌλ‘ μͺΌκ° λ€ κ·Έ μ€ ν μ‘°κ°μ μννκ³ , λλ¨Έμ§λ₯Ό μκΈ° μμ μ νΈμΆν΄ μ€ννλ κ³Όμ μ¬κ· νΈμΆμ μ¬μ©λλ ν¨μκ° μ¬κ· ν¨μ ex) 1λΆν° nκΉμ§μ ν© Base case : λ μ΄μ λλ μ μλ κ°μ₯ μμ λ¨μμ μμ ex) 1λΆν° nκΉμ§μ ν©μμ nμ΄ 1μ΄λ©΄ return 1 μ‘΄μ¬νλ λͺ¨λ μ λ ₯μ΄ base caseμ λ΅μ μ΄μ©ν΄ κ³μ°λ μ μλλ‘ base caseλ₯Ό μ νν΄μΌ ν¨ π Boggle game β λ¬Έμ μ λΆν β« μμ μμΉ κΈμκ° μ£Όμ΄μ§ λ¨μ΄ 첫 κΈμμ λ€λ₯΄λ©΄ False.. 2020. 11. 7. μ΄μ 1 λ€μ