์ต๋๊ณต์ฝ์
[PGM_62048] ๋ฉ์ฉกํ ์ผ๊ฐํ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/62048 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฉ์ฉกํ ์ฌ๊ฐํ ๊ฐ๋ก ๊ธธ์ด๊ฐ Wcm, ์ธ๋ก ๊ธธ์ด๊ฐ Hcm์ธ ์ง์ฌ๊ฐํ ์ข ์ด๊ฐ ์์ต๋๋ค. ์ข ์ด์๋ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ๊ณผ ํํํ๊ฒ ๊ฒฉ์ ํํ๋ก ์ ์ด ๊ทธ์ด์ ธ ์์ผ๋ฉฐ, ๋ชจ๋ ๊ฒฉ์์นธ์ 1cm x 1cm ํฌ๊ธฐ์ ๋๋ค. ์ด ์ข ์ด๋ฅผ ๊ฒฉ์ ์ ์ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ์ต๋๊ณต์ฝ์ ์ต๋๊ณต์ฝ์๋ฅผ ํ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ๊ฐ๋ก์ ์ธ๋ก์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํด์ฃผ๊ฒ ๋๋ฉด ๊ฐ๋ก์ ์ธ๋ก์ ๋น์จ์ ์ ์ ์๊ฒ๋๋ค. ์ฆ, ๋๊ฐ์ ์ผ๋ก ๊ทธ์์ ๋, ๊ฐ๋ก์ ์ธ๋ก์ ๋น์จ ๋งํผ์ ๊ฐ์ด ๋์ผํ ํจํด์ผ๋ก ์๋ ค์ง๊ฒ ๋ ๊ฒ์ด๋ค. ์๋ฅผ๋ค์ด ์์์ ๋ด์ฉ์ ์ฐธ๊ณ ํ๋ฉด, ์ธ๋ก์ ๊ธธ์ด 12 ๊ฐ..
์ต๋, ์ต์๊ณต๋ฐฐ์ ๊ทธ๋ฆฌ๊ณ ์์
์ต๋๊ณต์ฝ์(GCD) ๋ ์ a,b์ ๊ณตํต๋ ์ฝ์์ค ๊ฐ์ฅ ํฐ ์ - ๊ตฌํ๋ ๋ฐฉ๋ฒ 1. 2๋ถํฐ ์์ํด์ a,b๋ก ๊ณตํต๋๊ฒ ๋๋์ด ๋จ์ด์ง๋ ๊ฒ์ค ์ต๋๊ฐ์ ๊ตฌํ๋ค. O(n) -> n์ a,b์ค ์ต์๊ฐ 2. ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ ์ฌ์ฉํ๊ธฐ // ๋๋ ์ฃผ๋ก ์ฌ๊ท๋ฅผ ์ฌ์ฉํ๋ ํธ public int gcd(int a, int b){ if(a%b == 0) return b; return gcd(a,a%b); } //๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ฌ ๊ตฌํ ์๋ ์์ public int gcd(int a, int b){ int temp; while(true){ if(a%b == 0) return b; temp = a % b; a = b; b = temp; } } ์ ์ฝ๋๋ ์ ํด๋ฆฌ๋ ํธ์ฌ๋ฒ์ ์ฌ์ฉํด์ ๊ตฌํํด๋ณธ ์ฝ๋์ด๋ค. ์ต์๊ณต๋ฐฐ์(LCM) - ์ต์..