π€ νμ΄ μ½λ
import math
def solution(w,h):
return w * h - (w + h - math.gcd(w, h))
π€ λ¬Έμ νμ΄
μ½λκ° μ§§μμ μ¬μ΄ λ¬Έμ μ²λΌ 보μ΄μ§λ§, μ μ λ° μμ΄ λμλμ§ μ΄ν΄νλ κ²μ΄ μ€μν©λλ€.
λ¬Έμ μμ λμ¨ μ΄ μμλ₯Ό ν λ² λ΄ μλ€.
κ°λ‘ 8, μΈλ‘ 12μ μ¬κ°νμΌλ‘, μΌμ ν ν¨ν΄μ΄ λ°λ³΅λλ κ²μ²λΌ 보μ λλ€.
μμ κ°μ κ°λ‘ 2, μΈλ‘ 3μ μ¬κ°νμ ν¨ν΄μ΄ μ¬λ¬ λ² λ°λ³΅λλ κ²μ²λΌ 보μ΄μ£ .
κ³μ°νλ©΄, κ°λ‘ 8 μΈλ‘ 12μ μ¬κ°νμ, κ°λ‘ 2, μΈλ‘ 3μ μ¬κ°νμμ μ μ 걸리λ μ¬κ°νμ κ°μ * 4μ λλ€.
μ¬κΈ°μ 4λΌλ μ«μλ, 8κ³Ό 12μ μ΅λ 곡μ½μμΈκ²μ μ μ μμ΅λλ€. λν κ°λ‘ 2μ μΈλ‘ 3μ μλ‘μ κ΄κ³μμ μ μ μμ£ .
λ°λΌμ μ΅λ 곡μ½μλ₯Ό μ΄μ©ν΄μ λ¬Έμ λ₯Ό νμ΄μΌκ² λ€λ μκ°μ ν μ μμ΅λλ€.
λ€μ λ³μλ‘ λ°κΏμ μκ°μ ν΄λ³΄κ² μ΅λλ€.
κ°λ‘ wμ μΈλ‘ hμ μ¬κ°νμ΄ μκ³ , μ΅λ곡μ½μ kκ° μλ€κ³ ν΄λ΄ μλ€.
κ·Έλ¬λ©΄ κ°λ‘ w, μΈλ‘ hμ μ¬κ°νμμ κ°κ° μ΅λ 곡μ½μλ‘ λλ κ°λ‘ w'μ μΈλ‘ h' μ¬κ°νμΌλ‘ λ§λ€ μ μκ² μ£ .
μ΄μ μ§μ κ³Ό, μ¬κ°νμ λ³μ΄ λ§λλ μλ₯Ό κ³μ°ν΄λ΄ μλ€.
μμ μ¬κ°νμ κ°λ‘ w', μΈλ‘ h'μΈ μ¬κ°νμ λλ€. λκ°μ μ κ·Έμμ λ, κΈ°μ‘΄μ μ¬κ°νκ³Ό μ μ΄ λ§λλ λ³μ,
κ°λ‘λ³ h' - 1κ°, μΈλ‘λ³ w' - 1κ°λ§νΌ λ§λ©λλ€. κ·Έλ¦¬κ³ μ΄λ¬ν λ³μ λκ°μ μ΄ κΏ°λ«μ΄ λκ° λλ§λ€ μλ‘μ΄ μ¬κ°νμ λ§λκ² λ©λλ€.
첫 μ μ κ³ λ €ν΄μ ν κ°λ₯Ό μΆκ°ν΄ κ³μ°ν΄λ³΄λ©΄, κ°λ‘ w', μΈλ‘ h'μ μ¬κ°νμμ λκ°μ κ³Ό λ§λλ μ¬κ°νμ κ°μλ,
(w' - 1) + (h' - 1) + 1 = w' + h' - 1μ΄ λμ΅λλ€.
κ·ΈλΌ, μ΄μ κ°λ‘ w, μΈλ‘ hμ μ¬κ°νμ κ²½μ°λ λκ°μ κ³Ό λ§λλ μ¬κ°νμ κ°μλ₯Ό ꡬν μ μμ΅λλ€. (w' + h' - 1)μ μ΅λ 곡μ½μ kλ₯Ό κ³±νλ©΄ λμ£ .
kw' + kh' - k = w + h - kκ° λ©λλ€.
λ°λΌμ λκ°μ κ³Ό κ²ΉμΉμ§ μλ μ¬κ°νμ κ°μλ₯Ό ꡬνλ €λ©΄,
w * hλ‘ μ 체 μ¬κ°νμ μλ₯Ό ꡬνλ€μ, w + h - kλ₯Ό λΉΌμ£Όλ©΄ λ©λλ€.
μ½λλ‘ λ°κΎΈλ©΄,
import math
def solution(w,h):
return w * h - (w + h - math.gcd(w, h))
μ΄λ¬ν μ½λκ° μμ±λ©λλ€.
'π μ½λ©ν μ€νΈ λλΉ : PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] μ κ΅μ¬μ¬ (level3, python) (0) | 2023.04.14 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] 거리λκΈ° νμΈνκΈ° (level2, python) (0) | 2023.04.11 |
[νλ‘κ·Έλλ¨Έμ€] μ¬νκ²½λ‘ (level3, python) (1) | 2023.04.11 |
[νλ‘κ·Έλλ¨Έμ€] λμ€ν¬ 컨νΈλ‘€λ¬ (level3, python) (0) | 2023.04.10 |
[νλ‘κ·Έλλ¨Έμ€] μ λ ₯λ§μ λλ‘ λλκΈ° (level2, python) (0) | 2023.04.10 |