๋ฌธ์ ์ค๋ช
๊ฐ๋ก ๊ธธ์ด๊ฐ Wcm, ์ธ๋ก ๊ธธ์ด๊ฐ Hcm์ธ ์ง์ฌ๊ฐํ ์ข ์ด๊ฐ ์์ต๋๋ค. ์ข ์ด์๋ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ๊ณผ ํํํ๊ฒ ๊ฒฉ์ ํํ๋ก ์ ์ด ๊ทธ์ด์ ธ ์์ผ๋ฉฐ, ๋ชจ๋ ๊ฒฉ์์นธ์ 1cm x 1cm ํฌ๊ธฐ์ ๋๋ค. ์ด ์ข ์ด๋ฅผ ๊ฒฉ์ ์ ์ ๋ฐ๋ผ 1cm × 1cm์ ์ ์ฌ๊ฐํ์ผ๋ก ์๋ผ ์ฌ์ฉํ ์์ ์ด์๋๋ฐ, ๋๊ตฐ๊ฐ๊ฐ ์ด ์ข ์ด๋ฅผ ๋๊ฐ์ ๊ผญ์ง์ 2๊ฐ๋ฅผ ์๋ ๋ฐฉํฅ์ผ๋ก ์๋ผ ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํ์ฌ ์ง์ฌ๊ฐํ ์ข ์ด๋ ํฌ๊ธฐ๊ฐ ๊ฐ์ ์ง๊ฐ์ผ๊ฐํ 2๊ฐ๋ก ๋๋์ด์ง ์ํ์ ๋๋ค. ์๋ก์ด ์ข ์ด๋ฅผ ๊ตฌํ ์ ์๋ ์ํ์ด๊ธฐ ๋๋ฌธ์, ์ด ์ข ์ด์์ ์๋ ์ข ์ด์ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ๊ณผ ํํํ๊ฒ 1cm × 1cm๋ก ์๋ผ ์ฌ์ฉํ ์ ์๋ ๋งํผ๋ง ์ฌ์ฉํ๊ธฐ๋ก ํ์์ต๋๋ค.
๊ฐ๋ก์ ๊ธธ์ด W์ ์ธ๋ก์ ๊ธธ์ด H๊ฐ ์ฃผ์ด์ง ๋, ์ฌ์ฉํ ์ ์๋ ์ ์ฌ๊ฐํ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- W, H : 1์ต ์ดํ์ ์์ฐ์
์
์ถ๋ ฅ ์
W | H | result |
8 | 12 | 80 |
์
์ถ๋ ฅ ์ ์ค๋ช
์์ #1: ๊ฐ๋ก๊ฐ 8, ์ธ๋ก๊ฐ 12์ธ ์ง์ฌ๊ฐํ์ ๋๊ฐ์ ๋ฐฉํฅ์ผ๋ก ์๋ฅด๋ฉด ์ด 16๊ฐ ์ ์ฌ๊ฐํ์ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค. ์๋ ์ง์ฌ๊ฐํ์์๋ 96๊ฐ์ ์ ์ฌ๊ฐํ์ ๋ง๋ค ์ ์์์ผ๋ฏ๋ก, 96 - 16 = 80 ์ ๋ฐํํฉ๋๋ค.
๋์ ์๋ฃจ์
๊ฐ๋๋ฅผ ๊ตฌํด์ผ ํ๋ ์ถ์๋ค๊ฐ, ๊ฐ๋๋ฅผ ๊ตฌํด๋ ํ์ฉํ ๋ฐฉ๋๊ฐ ๋ ์ค๋ฅด์ง ์์ ๊ฐ๋ก ์ธ๋ก ๊ธธ์ด์ ๋จ๋ ์ฌ๊ฐํ์ ๊ณต์์ ์ดํดํด๋ณด๊ณ ์ ํ๋ค.
๋ค์ํ ํจํด์ ์ฐพ์๋ณด๋ ค๋ค๊ฐ ๋ฌธ๋
5, 4 = 20 - 8 = 12
3, 7 = 21 - 9 = 12
์์ ๊ณตํต์ ์ ๋ฐ๊ฒฌํ๋ค. w * h ๊ฐ์์ w + h - 1 ์ ํด ์ฃผ๋ ์ ๋ต์ด ๋์๋ค.
ํจํด์ด ์จ์ด์๋ค๋ ๊ฒ๊น์ง๋ ์์์ผ๋ 1์ด ์ด๋์ ๋์จ๊ฑด์ง ์ ๋๋ก ์ดํดํ์ง ๋ชปํ๋ค.
8, 12 = 96 - 16 = 80
๊ณผ ๊ฐ์ด, 1์ ๋์ ํด๋ ๋ต์ด ๋์ค์ง ์๋ ์ผ์ด์ค๋ ๋ถ๋ช ์์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฌธ๋ 8 + 12 = 20 - 4 = 16 ์ด๋ผ๋ ์ฌ์ค์ด ๋์ ๋ณด์๊ณ , ๋ค๋ฅธ ๊ณณ์์๋ 1์ด๋ ์๊ฐ ์ ์ฌ๊ธฐ์๋ 4๊ฐ ๋์๋์ง ๊ณ ๋ฏผํด๋ณด์๋ค.
ํ์ฉํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ ์ํ ๊ณต์ (ํผ๋ณด๋์น, ์์ด, ์ต์๊ณต๋ฐฐ์ ๋ฑ) ์ ๋ ์ฌ๋ ค ๋ณด๋ค๊ฐ ๋ต์ ์ฐพ์ ์ ์์๋ค.
์ค๊ฐ์ ๋ค์ด๊ฐ๋ ์ซ์๋ w ๊ณผ h ์ ์ต๋๊ณต์ฝ์์๋ค.
๋ฐ๋ผ์ ์ง์ฌ๊ฐํ์ ์ ์ด์ ๋จ๋ ์ ์ฌ๊ฐํ์ ๊ฐ์๋ฅผ ์ธ๋ ๊ณต์์
w * h - (w + h - ์ต๋๊ณต์ฝ์) ์ด๋ผ๋ ๊ฒฐ๋ก ์ ๋ด๋ฆฌ๊ณ ์ฝ๋๋ฅผ ์ง ๋ณด์๋ค.
def solution(w,h):
s, l = min(w,h), max(w,h)
gcd = 1
for num in range(s, 0, -1):
if s%num == 0 and l%num == 0:
gcd = num
break
return w * h - (w + h - gcd)
๋ฐฐ์ด ์
- ๋ต์ ์ธ์ ๋ ๋ณต์กํ ์์์ด ์๋ ๊ฐ๋จํ ๋ ผ๋ฆฌ์ ์กด์ฌํ๋ค. ์๊ณ ์๋ ์ง์์ ์ด๋์ํ์ฌ ํ๋์ฉ ์๊ฑฐํด๋๊ฐ๋ค ๋ณด๋ฉด ๋ต์ ์ฐพ์ ์ ์๋ค.
- ์ต๋๊ณต์ฝ์, ์ต์๊ณต๋ฐฐ์ ๊ฐ๋ ์ ๊ฐ๋ฒผ์ด ์ฌ๊ธฐ์ง ๋ง๊ณ ์๊ณ ๋ฆฌ์ฆ์์ ์์ฃผ ๋ ์ฌ๋ ค์ผ ํ๋ค.
๋๊ธ