๐ฆ Changgo/๐ ๋ญ? JS๋ก PS๋ฅผ ํ๋ค๊ณ ?
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] N๊ฐ์ ์ต์๊ณต๋ฐฐ์
์ ๋ฌ
2023. 5. 26. 23:09
๋ฐ์ํ
https://school.programmers.co.kr/learn/courses/30/lessons/12953
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
ํ์ด
lcg() : a์ b์ ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ค (์ ํด๋ฆฌ๋ ํธ์ ๋ฒ ์ด์ฉ)
lcm() : a์ b์ ์ต์๊ณต๋ฐฐ์๋ฅผ ๊ตฌํ๋ค (a*b/์ต๋๊ณต์ฝ์ = ์ต์๊ณต๋ฐฐ์ ์ด์ฉ)
arr ๋ฐฐ์ด์ ๋๋ฉด์ ์ต์๊ณต๋ฐฐ์๋ฅผ ๊ณ์ ๊ตฌํ๋ฉฐ ์ ๋ฐ์ดํธํด๋๊ฐ๋ฉด ๋!
function lcg(a, b) {
if(b===0) {
return a;
}
return lcg(b, a%b);
}
function lcm(a, b) {
let tmp = a>b ? lcg(a,b) : lcg(b,a);
return a/tmp*b;
}
function solution(arr) {
let answer = arr[0];
for(let i=1; i<arr.length; i++) {
answer = lcm(answer, arr[i]);
}
return answer;
}
๋ฐ์ํ