βοΈ λ¬Έμ
https://www.acmicpc.net/problem/27961
λ§λ²μλ μΈ λ§λμΉ΄λ λ무λλ κ³ μμ΄λ₯Ό μ’μνλ λλ¨Έμ§ λ§λ²μ μ΄μ©νμ¬ κ³ μμ΄ Nλ§λ¦¬λ₯Ό μ§μμ ν€μ°κΈ°λ‘ κ²°μ¬νλ€!
λ§λμΉ΄λ ν λ²μ νλμμ λ€μ 2 κ°μ§ λ§λ² μ€ νλλ₯Ό μ ννμ¬ μ¬μ©νλ€. μ²μμλ λ§λμΉ΄μ μ§μ κ³ μμ΄κ° μ‘΄μ¬νμ§ μλλ€.
- μμ± λ§λ²: κ³ μμ΄ 1λ§λ¦¬λ₯Ό λ§λμΉ΄μ μ§μ μμ±νλ€.
- 볡μ λ§λ²: λ§λμΉ΄μ μ§μ μλ κ³ μμ΄ μΌλΆ λλ μ λΆλ₯Ό λμμΌλ‘ νμ¬ λ³΅μ νλ€. μ¦, λ§μ½ νμ¬ λ§λμΉ΄μ μ§μ κ³ μμ΄κ° λ§λ¦¬ μ‘΄μ¬νλ€λ©΄, 0λ§λ¦¬ μ΄μ kλ§λ¦¬ μ΄νμ κ³ μμ΄λ₯Ό λ§λμΉ΄μ μ§μ μΆκ°ν μ μλ€.
λ§λμΉ΄λ μμ κ°μ§ λ§λ²μ μ μ ν μ¬μ©νμ¬, μ΅μμ νλ νμλ‘ λ§λμΉ΄μ μ§μ μ νν Nλ§λ¦¬μ κ³ μμ΄κ° μλλ‘ λ§λ€κ³ μΆλ€. κ³μ°μ μ΄λ €μνλ λ§λμΉ΄λ₯Ό μν΄ μ΅μμ νλ νμλ₯Ό κ³μ°ν΄μ£Όμ!
π€ μ μΆλ ₯ μμ
π§ λμ΄λ/μμ μκ°
β λμ΄λ: solved.ac κΈ°μ€ B1
β μμ μκ°: 42λΆ
β κΆμ₯ μκ°: 1μκ° 15λΆ
π‘ νμ΄
1) λ¬Έμ μ ν νμ
μ²μμλ Nμ μ λ ₯ λ²μκ° 10μ 12μΉκΉμ§κΈΈλ μ μ΄λΆνμ? νλλ° μ΄λ»κ² μ¨λ¨Ήμ΄μΌ ν μ§ λ μ€λ₯΄μ§ μμλ€.
λ€μμΌλ‘ λ μ¬λ¦° λ°©λ²μ ν¨ν΄μ΄ μλμ§ μ°Ύλ κ²μ΄μλ€. N=0~N=20κΉμ§ μ§μ μ μ΄κ°λ©΄μ νμΈν΄λ³΄λκΉ ν¨ν΄μ΄ μκΈ΄ νλλ° λ΄ λ¨Έλ¦¬λ‘λ μΌλ°ν μν¬ λ°©λ²μ΄ 보μ΄μ§ μμκΈ° λλ¬Έμ μ΄ λ°©λ²λ μΌλ¨ ν¨μ€!
λ§μ§λ§μΌλ‘ λ¬Έμ λ₯Ό λ€μ μ½μ΄λ³΄λκΉ λ³΅μ λ₯Ό μ΅λν λ§μ΄ μ¨μΌκ² λ€ μΆμ μκ°μ΄ λ€μλ€. μ΄λ° ν¨ν΄μ 그리λ λ¬Έμ (like λμ λ¬Έμ )μμ λ§μ΄ λ΄€λ κ² κ°μμ 그리λ μ νμΌλ‘ λΆλ₯νκ³ λλμ μ μ νμ©νλ λ°©ν₯μΌλ‘ λ¬Έμ λ₯Ό νμ΄λ³΄κΈ°λ‘ νλ€.
2) μμ΄λμ΄ νλ¦
β νμ¬ κ³ μμ΄ μ, μ°μ° νμ μ μ₯μ© λ³μ μ μΈ
λ¬Έμ λλ‘λΌλ©΄ μ΄κΈ° κ³ μμ΄ μλ 0λ§λ¦¬, μ°μ° νμλ 0λ²μ΄μ§λ§ Nμ΄ 0μΈ κ²½μ°λ₯Ό μ μΈνκ³ ν λ§λ¦¬λ₯Ό μΆκ°νλ μμ± κ³Όμ μ΄ λ¬΄μ‘°κ±΄ νμνκΈ° λλ¬Έμ νμ¬ κ³ μμ΄ μμ μ°μ° νμ λͺ¨λ μ΄κΈ°κ°μ 1λ‘ μ€¬λ€.
β‘ νμ¬ κ³ μμ΄ μμ N λΉκ΅
λͺ©νλ λλ λ§κ³ λλ λ§κ³ μ νν Nλ§λ¦¬λ₯Ό λ§λλ κ²μ΄λ―λ‘ νμ¬ κ³ μμ΄ μκ° Nκ³Ό κ°μμ§κΈ° μ κΉμ§λ§ whileλ¬Έμ λλ €μ£Όλ©΄ λλ€.
whileλ¬Έ μμμλ λ± ν λ§λ¦¬λ§ μΆκ°λλ μμ± κ³Όμ μ κ³ λ €ν νμκ° μκ³ νμ¬ κ³ μμ΄ μμ 2λ°°κΉμ§ λ릴 μ μλ 볡μ κ³Όμ λ§ μ κ²½μ°λ©΄ λκΈ° λλ¬Έμ νμ¬ κ³ μμ΄ μ *= 2μ μ°μ° νμ += 1μ κ³μ μνν΄μ£Όλ©΄ νμ΄ λ
β’ μμΈ μ²λ¦¬
β μμ μΈκΈνλ―μ΄ N=0μ΄λ©΄ μμ± κ³Όμ μ΄ νμμλ€. ifλ¬Έμ μ΄μ©ν΄μ N == 0μ΄λ©΄ λ°λ‘ 0 μΆλ ₯, N != 0μ΄λ©΄ β , β‘ μμλλ‘ μ²λ¦¬λκ² μ½λλ₯Ό μ§°λ€.
μ¬μ€ μ²μμ μμΈ μ²λ¦¬λ₯Ό μ ν΄μ νλ Έμ΅λλ€ ν λ² λ§λ¬λ€ κ» κ»
3) ꡬν
import sys
input = sys.stdin.readline
N = int(input())
if N == 0:
print(0)
else:
cats = 1
answer = 1
while cats < N:
cats *= 2
answer += 1
print(answer)
4) μ΄λ €μ λ μ /λ°°μ΄ μ
π¨ μ΄λ €μ λ μ
- μ€λμ μ΄λ €μ λ μ λ³΄λ€ μμ¬μ΄ μ μ΄λΌκ³ νλ κ² λ§κ² λ€. νκ³ λ³΄λκΉ μ½λλ μμ² κ°λ¨νλ° 'λλμ μ μ μ°λ κ²' μ΄κ±Έ λ°λ‘ λ μ¬λ¦¬μ§ λͺ»ν΄μ λΈλ‘ μ¦ λ¬Έμ μΉκ³ μκ°μ λ무 λ§μ΄ μ΄ κ² μμ½λ€.
β λ°°μ΄ μ
- μ½λ λ€ μ§κ³ λμ μμΈκ° μμμ§ ν λ² λ μκ°νλ μ΅κ΄μ κ°μ§μ.
'Problem Solving > [νν΄99] TIL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
99ν΄λ½ μ½ν μ€ν°λ 15μΌμ°¨ TIL / μλ£κ΅¬μ‘°(λ±)&λ¬Έμμ΄ (0) | 2024.11.11 |
---|---|
99ν΄λ½ μ½ν μ€ν°λ 14μΌμ°¨ TIL / 그리λ (0) | 2024.11.10 |
99ν΄λ½ μ½ν μ€ν°λ 12μΌμ°¨ TIL / BFS(λλΉ μ°μ νμ) (0) | 2024.11.08 |
99ν΄λ½ μ½ν μ€ν°λ 11μΌμ°¨ TIL / DFS(κΉμ΄ μ°μ νμ) (6) | 2024.11.07 |
99ν΄λ½ μ½ν μ€ν°λ 10μΌμ°¨ TIL / BFS(λλΉ μ°μ νμ) (2) | 2024.11.06 |