๐กsolutions )
โ ๊ณต์์ ๋ชป ์ฐพ๊ฒ ์ด์ ๋ค๋ฅธ ๋ถ๋ค ํ์ด๋ฅผ ์ฐธ๊ณ ํ๋ค. ๋๊ฐ์ ์ ๊ฑธ์ณ์ง๋ ์ ์ฌ๊ฐํ์ ๊ฐ์๋ "w+h - (w*h - w์h์ ์ต์๊ณต์ฝ์)"
โ math ๋ชจ๋์ ์ฌ์ฉํด ์ต์๊ณต์ฝ์(gcb)๋ฅผ ๊ตฌํ ์๋ ์์ง๋ง ์ง์ ํจ์๋ฅผ ๊ตฌํํ๋ค.
๐ซcode )
def solution(w, h):
def getGcd(w,h):
if (h == 0):
return w
return getGcd(h, w % h)
return w * h - (w + h - getGcd(w, h))
๐ description )
๋ฌธ์ ์ถ์ฒ : https://programmers.co.kr/learn/courses/30/lessons/62048?language=python3
๋ฉ์ฉกํ ์ฌ๊ฐํ
๋ฌธ์ ์ค๋ช๊ฐ๋ก ๊ธธ์ด๊ฐ Wcm, ์ธ๋ก ๊ธธ์ด๊ฐ Hcm์ธ ์ง์ฌ๊ฐํ ์ข ์ด๊ฐ ์์ต๋๋ค. ์ข ์ด์๋ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ๊ณผ ํํํ๊ฒ ๊ฒฉ์ ํํ๋ก ์ ์ด ๊ทธ์ด์ ธ ์์ผ๋ฉฐ, ๋ชจ๋ ๊ฒฉ์์นธ์ 1cm x 1cm ํฌ๊ธฐ์ ๋๋ค. ์ด ์ข ์ด๋ฅผ ๊ฒฉ์ ์ ์ ๋ฐ๋ผ 1cm × 1cm์ ์ ์ฌ๊ฐํ์ผ๋ก ์๋ผ ์ฌ์ฉํ ์์ ์ด์๋๋ฐ, ๋๊ตฐ๊ฐ๊ฐ ์ด ์ข ์ด๋ฅผ ๋๊ฐ์ ๊ผญ์ง์ 2๊ฐ๋ฅผ ์๋ ๋ฐฉํฅ์ผ๋ก ์๋ผ ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํ์ฌ ์ง์ฌ๊ฐํ ์ข ์ด๋ ํฌ๊ธฐ๊ฐ ๊ฐ์ ์ง๊ฐ์ผ๊ฐํ 2๊ฐ๋ก ๋๋์ด์ง ์ํ์ ๋๋ค. ์๋ก์ด ์ข ์ด๋ฅผ ๊ตฌํ ์ ์๋ ์ํ์ด๊ธฐ ๋๋ฌธ์, ์ด ์ข ์ด์์ ์๋ ์ข ์ด์ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ๊ณผ ํํํ๊ฒ 1cm × 1cm๋ก ์๋ผ ์ฌ์ฉํ ์ ์๋ ๋งํผ๋ง ์ฌ์ฉํ๊ธฐ๋ก ํ์์ต๋๋ค.
๊ฐ๋ก์ ๊ธธ์ด W์ ์ธ๋ก์ ๊ธธ์ด H๊ฐ ์ฃผ์ด์ง ๋, ์ฌ์ฉํ ์ ์๋ ์ ์ฌ๊ฐํ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.์ ํ์ฌํญ
- W, H : 1์ต ์ดํ์ ์์ฐ์
์ ์ถ๋ ฅ ์
WHresult
8 12 80 ์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
๊ฐ๋ก๊ฐ 8, ์ธ๋ก๊ฐ 12์ธ ์ง์ฌ๊ฐํ์ ๋๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์๋ฅด๋ฉด ์ด 16๊ฐ ์ ์ฌ๊ฐํ์ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค. ์๋ ์ง์ฌ๊ฐํ์์๋ 96๊ฐ์ ์ ์ฌ๊ฐํ์ ๋ง๋ค ์ ์์์ผ๋ฏ๋ก, 96 - 16 = 80 ์ ๋ฐํํฉ๋๋ค.