μκ° μ ν | λ©λͺ¨λ¦¬ μ ν | μ λ΅ λΉμ¨ |
1 μ΄ | 192 MB | 28.013% |
λ¬Έμ
ν΄λν°μμ κΈΈμ΄κ° PμΈ μλ¨μ΄λ₯Ό μ λ ₯νλ €λ©΄ λ²νΌμ Pλ² λλ¬μΌ νλ€. κ·Έλ¬λ μμ€ν νλ‘κ·Έλλ° μ°κ΅¬μ€μ 근무νλ μΉνμ°κ΅¬μμ μ¬μ μ μ¬μ©ν΄ μ΄ μ λ ₯μ λ 빨리 ν μ μλ μν λͺ¨λμ κ°λ°νμλ€. μ΄ λͺ¨λμ μ¬μ λ΄μμ κ°λ₯ν λ€μ κΈμκ° νλλΏμ΄λΌλ©΄ κ·Έ κΈμλ₯Ό λ²νΌ μ λ ₯ μμ΄ μλμΌλ‘ μ λ ₯ν΄ μ€λ€! μμΈν μλ κ³Όμ μ μ€λͺ νμλ©΄ λ€μκ³Ό κ°λ€.
- λͺ¨λμ΄ λ¨μ΄μ 첫 λ²μ§Έ κΈμλ₯Ό μΆλ‘ νμ§λ μλλ€. μ¦, μ¬μ μ λͺ¨λ λ¨μ΄κ° κ°μ μνλ²³μΌλ‘ μμνλλΌλ λ°λμ 첫 κΈμλ μ¬μ©μκ° λ²νΌμ λλ¬ μ λ ₯ν΄μΌ νλ€.
- κΈΈμ΄κ° 1 μ΄μμΈ λ¬Έμμ΄ c1c2...cnμ΄ μ§κΈκΉμ§ μ λ ₯λμμ λ, μ¬μ μμ λͺ¨λ c1c2...cnμΌλ‘ μμνλ λ¨μ΄κ° c1c2...cncλ‘λ μμνλ κΈμ cκ° μ‘΄μ¬νλ€λ©΄ λͺ¨λμ μ¬μ©μμ λ²νΌ μ λ ₯ μμ΄λ μλμΌλ‘ cλ₯Ό μ λ ₯ν΄ μ€λ€. κ·Έλ μ§ μλ€λ©΄ μ¬μ©μμ μ λ ₯μ κΈ°λ€λ¦°λ€.
μλ₯Ό λ€λ©΄, μ¬μ μ "hello", "hell", "heaven", "goodbye" 4κ°μ λ¨μ΄κ° μκ³ μ¬μ©μκ° "h"λ₯Ό μ λ ₯νλ©΄ λͺ¨λμ μλμΌλ‘ "e"λ₯Ό μ λ ₯ν΄ μ€λ€. μ¬μ μμ "h"λ‘ μμνλ λ¨μ΄λ€μ λͺ¨λ κ·Έ λ€μ "e"κ° μ€κΈ° λλ¬Έμ΄λ€. κ·Έλ¬λ λ¨μ΄λ€ μ€ "hel"λ‘ μμνλ κ²λ, "hea"λ‘ μμνλ κ²λ μκΈ° λλ¬Έμ μ¬κΈ°μ λͺ¨λμ μ¬μ©μμ μ λ ₯μ κΈ°λ€λ¦°λ€. μ΄μ΄μ μ¬μ©μκ° "l"μ μ λ ₯νλ©΄ λͺ¨λμ "l"μ μλμΌλ‘ μ λ ₯ν΄ μ€λ€. κ·Έλ¬λ μ¬κΈ°μ λλλ λ¨μ΄μΈ "hell"κ³Ό κ·Έλ μ§ μμ λ¨μ΄μΈ "hello"κ° κ³΅μ‘΄νλ―λ‘ λͺ¨λμ λ€μ μ λ ₯μ κΈ°λ€λ¦°λ€. μ¬μ©μκ° "hell"μ μ λ ₯νκΈ° μνλ€λ©΄ μ¬κΈ°μ μ λ ₯μ λ©μΆ κ²μ΄κ³ , "hello"λ₯Ό μ λ ₯νκΈ° μνλ€λ©΄ μ§μ "o" λ²νΌμ λλ¬μ μ λ ₯ν΄ μ€μΌ νλ€. λ°λΌμ "hello"λ₯Ό μ λ ₯νλ €λ©΄ μ¬μ©μλ μ΄ 3λ² λ²νΌμ λλ¬μΌ νκ³ , "hell", "heaven"μ 2λ²μ΄λ€. "heaven"μ κ²½μ° "he"μμ "a"λ₯Ό μ λ ₯νλ©΄ λ°λ‘ λ·λΆλΆμ΄ λͺ¨λ μλμΌλ‘ μ λ ₯λκΈ° λλ¬Έμ΄λ€. λΉμ·νκ², "goodbye"λ λ¨ ν λ²λ§ λ²νΌμ λλ¬λ μ λ ₯μ΄ μλ£λ κ²μ΄λ€. "g"λ₯Ό μ λ ₯νλ μκ° λ€μ μ€λ κΈμκ° νμ μ μΌνλ―λ‘ λκΉμ§ μλμΌλ‘ μ λ ₯λκΈ° λλ¬Έμ΄λ€. μ΄λ μ¬μ μ μλ λ¨μ΄λ€μ μ λ ₯νκΈ° μν΄ λ²νΌμ λλ¬μΌ νλ νμμ νκ· μ (3 + 2 + 2 + 1)/4 = 2.00μ΄λ€.
μ¬μ μ΄ μ£Όμ΄μ‘μ λ, μ΄ λͺ¨λμ μ¬μ©νλ©΄μ μ΄μ κ°μ΄ κ° λ¨μ΄λ₯Ό μ λ ₯νκΈ° μν΄ λ²νΌμ λλ¬μΌ νλ νμμ νκ· μ ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ μΆλ ₯
μ λ ₯μ μ¬λ¬ κ°μ ν μ€νΈ μΌμ΄μ€λ‘ μ΄λ£¨μ΄μ Έ μλ€.
κ° ν μ€νΈ μΌμ΄μ€μ 첫째 μ€μ μ¬μ μ μν λ¨μ΄μ κ°μ Nμ΄ μ£Όμ΄μ§λ©°(1 ≤ N ≤ 105), μ΄μ΄μ Nκ°μ μ€μ 1~80κΈμμΈ μμ΄ μλ¬Έμλ‘λ§ μ΄λ£¨μ΄μ§ λ¨μ΄κ° νλμ© μ£Όμ΄μ§λ€. μ΄ λ¨μ΄λ€λ‘ μ¬μ μ΄ κ΅¬μ±λμ΄ μμΌλ©°, λκ°μ λ¨μ΄λ λ λ² μ£Όμ΄μ§μ§ μλλ€. κ° ν μ€νΈ μΌμ΄μ€λ§λ€ μ λ ₯μΌλ‘ μ£Όμ΄μ§λ λ¨μ΄μ κΈΈμ΄ μ΄ν©μ μ΅λ 106μ΄λ€.
κ° ν μ€νΈ μΌμ΄μ€λ§λ€ ν μ€μ κ±Έμ³ λ¬Έμ μ μ λ΅μ μμμ λμ§Έ μ리κΉμ§ λ°μ¬λ¦Όνμ¬ μΆλ ₯νλ€.
ν΄κ²°
key point, νΈλΌμ΄ μλ£κ΅¬μ‘°λ₯Ό μ¬μ©νλ€. cnt κ°μ΄ λ¬λΌμ§λ μκ°μ΄ μ°μ° νμ!
- μ λ ₯λ°μ λ¬Έμμ΄λ‘ νΈλΌμ΄λ₯Ό ꡬμ±νλ€.
- ν΄λΉ λ Έλμ λͺ λ² μ λ ₯μ΄ λλμ§ μκΈ° μν΄ λ§€λ² cntκ°μ κ°±μ νλ€.
- μ λ ₯μ΄ λλ¬λ€λ©΄, νΈλΌμ΄λ₯Ό μννλ©΄μ(dfs) cntκ°μ΄ λ¬λΌμ§λ μκ°λ§λ€ ansκ°μ κ°±μ νλ€. → ans += t->cnt
- λ¬Έμμ΄ κ°μ nμΌλ‘ ansμ λλκ³ μμμ λμ§Έ μ리κΉμ§ λ°μ¬λ¦Όν κ°μ μΆλ ₯νλ©΄ λλ€.
μν
루νΈλ νμ cntκ° 0μ΄κ³ , ν λ²μ΄λΌλ μ λ ₯λ°μ κΈμμ λν΄μλ cntκ° 1μ΄μμ΄λ―λ‘ λ¬Έμμ΄μ μμλΆλΆμμλ νμ cntλ§νΌμ΄ ansμ μ μ₯λλ€.
cntμ μλ―Έλ₯Ό μ μ΄ν΄λ³΄λ©΄ cntκ°μ΄ μμμ cntκ°κ³Ό λ¬λΌμ§ λ μ
λ ₯μ μλ‘ λ°μμΌ νλ€λ μλ―Έκ° λλ©°, μ
λ ₯μ λ°μμΌλλ νμκ° λ°λ‘ cntκ°μ΄ λλ κ²μ΄λ€.
λ°λΌμ λΉ¨κ°μμΌλ‘ νμν λΆλΆμΌ λ ans += t->cnt κ° μ΄λ£¨μ΄μ§λ€κ³ λ³Ό μ μλ€.
μ½λ
λ©λͺ¨λ¦¬ | μκ° |
75388 KB | 536 ms |
'π₯ PS(Problem Solving) π₯ > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] #3366 μμ΄ μ€μ΄κΈ° (0) | 2020.07.16 |
---|---|
[BOJ] #17090 λ―Έλ‘ νμΆνκΈ° (0) | 2020.07.16 |
[BOJ] #5052 μ νλ²νΈ λͺ©λ‘ (0) | 2020.06.08 |
[BOJ] #12789 λν€λν€ κ°μλ리미 (0) | 2020.06.02 |
[BOJ] #1406 μλν° (0) | 2020.06.02 |
λκΈ