์๊ณ ๋ฆฌ์ฆ
[ํ๋ก๊ทธ๋๋จธ์ค] N๊ฐ์ ์ต์๊ณต๋ฐฐ์(Java)
young-ji
2023. 12. 1. 09:58
https://school.programmers.co.kr/learn/courses/30/lessons/12953
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
class Solution {
public int solution(int[] arr) {
int answer = 0;
if (arr.length == 1){
return arr[0];
}
int lcm = arr[0];
for (int i = 1; i < arr.length; i++){
lcm = getLeastCommonMultiple(lcm, arr[i]);
}
return lcm;
}
// ์ต์ ๊ณต๋ฐฐ์ ๊ตฌํ๊ธฐ
public int getLeastCommonMultiple(int a, int b){
return (a*b) / getLeastCommonDivisor(a,b);
}
// ์ต๋ ๊ณต์ฝ์ ๊ตฌํ๊ธฐ
// 1. ๋ ์ ์ a์ b์ ์ต๋๊ณต์ฝ์๋ b์ a๋ฅผ b๋ก ๋๋ ๋๋จธ์ง์ ์ต๋๊ณต์ฝ์์ ๊ฐ๋ค.
// 2. ์ด๋ฅผ ๋ฐ๋ณตํด์ ๋๋จธ์ง๊ฐ 0์ด ๋ ๋๊น์ง ๊ณ์ํ๋ค. ๋๋จธ์ง๊ฐ 0์ด ๋๋ฉด ๊ทธ๋์ b๊ฐ ์ต๋๊ณต์ฝ์๊ฐ ๋๋ค.
public int getLeastCommonDivisor(int a, int b){
int r;
while (b != 0){
r = a % b;
a = b;
b = r;
}
return a;
}
}
์ต์ ๊ณต๋ฐฐ์, ์ต๋ ๊ณต์ฝ์ ๊ตฌํ๊ธฐ