[Algorithm๐งฌ] ๋ฉ์ฉกํ ์ฌ๊ฐํ
๋ฒ๋ ค์ง๋ ๋ถ๋ถ์ด ๋ช๊ฐ์ธ์ง๋ฅผ ์ฐพ๋๊ฒ ๊ด๊ฑด
์์งํ.. ํผ์ ํ์ผ๋ก ์ฐพ์ง๋ ๋ชปํ๋ค.
์ผ๋จ ์๊ฐ์ ํ๋ฆ๋๋ก ์ ๋ฆฌํด๋ณด๋ฉด,
1. ๋ ๋ชจ์์ด ๋ฐ๋ณต๋๋ค? ๊ท์น์ฑ์ด ์๊ธด ํ๊ฒ ๋ค.
์ผ๊ฐํ์ผ๋ก ์๊ฐ์ ํด๋ดค๋๋ฐ ๊ทธ๊ฑด ํ๋ค์ด์ ์ฌ๊ฐํ์ผ๋ก ๋ค์ ๋์์์ ์๊ฐํ๋ค.
-> 8, 12 ์ด๋๊น 2, 3 ์ผ๋ก 4๊ฐ๊ฐ ์๊ธฐ๊ธด ํ๊ฒ ๊ตฌ๋ง
-> 9, 9 ๋ฉด 1, 1 ๋ก 9๊ฐ..?
2. ์ ์ต๋๊ณต์ฝ์!
3. ์ ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ!!!!!!
def maxDivisor(a, b):
if b == 0:
return a
return maxDivisor(b, a%b)
ํ๊ณ ์ฌ๊ธฐ๊น์ง๋ ์ฝ๋๋ฅผ ์งฐ์.. ๊ทผ๋ฐ ๋งํ๋ค.
4. ์์นํด์ ๋ฐ๊ฒฌํ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ท์น์ฑ์ ์์๋๋ค.
https://taesan94.tistory.com/55
๋๊ฐ์ ์ด๋ผ๋๊ฑด ๊ฒฐ๊ตญ ์์ ์ง์ ์์ ๋ ์ง์ ๊น์ง ๊ฐ๋ ๊ฒ! ๊ทธ๋ฌ๋ ค๋ฉด 5์นธ ์์ผ๋ก 3์นธ ์๋ก ๊ฐ์ผํจ. ๊ทผ๋ฐ ๊ทธ๊ฑธ ์ ์ผ๋ก ์์ง์ด๋๊ฒ ์๋๋ผ 1*1 ์ ์ฌ๊ฐํ ๋จ์๋ก ์์ง์ด๋๊ฑฐ๋๊น ํ์นธ์ด ๊ฒน์น ์ ๋ฐ์ ์์. ๊ทธ๋์ ๊ฒฐ๊ตญ ๊ฐ๋ก + ์ธ๋ก - 1 ์ ํ๋ฉด ๋๋ค.
๋์ ์ต์ ๋จ์(๋๋น ๋์ด ์ต๋๊ณต์ฝ์๊ฐ 1์ด ์๋) ์ฌ๊ฐํ์ด ์๋๋ฐ ์์ ๊ณต์์ ์ ์ฉํ๋ฉด, ์ต๋ํ ๊ฒน์น๊ฒ ํ ์๊ฐ ์์ด์ ์๋ ๋ต๋ณด๋ค ๋ ๋ง์ด ๋ฒ๋ฆฌ๊ฒ ๋จ.
def solution(w,h):
if w < h:
w, h = h, w
maxD = maxDivisor(w, h)
trash = (h / maxD) + (w / maxD) - 1
return w*h - maxD * trash
์ต์ข ๋ต์ ์ด๋ ๊ฒ ๋๋ค.
def solution(w,h):
if w < h:
w, h = h, w
maxD = maxDivisor(w, h)
return w*h - (w + h - maxD)
๋จ์ ์ฌ๊ฐํ์ผ๋ก ์ชผ๊ฐ์ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๋ค์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ณฑํ๋๋ฐ, ๋ค์ ๊ฒ์ ๋ค์ ๊ณ์ฐํด์ ์ด๋ ๊ฒ๊น์ง ๋ํ๋ผ ์ ์๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ([Algorithm๐งฌ] ๋ฉ์ฉกํ ์ฌ๊ฐํ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@ddosang/Algorithm-๋ฉ์ฉกํ-์ฌ๊ฐํ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค