๐ ์๊ณ ๋ฆฌ์ฆ/Programmers
[Javascript/PGS] Lv.2 : N๊ฐ์ ์ต์๊ณต๋ฐฐ์
xxilliant
2025. 4. 8. 10:42
728x90
๋ฐ์ํ
https://school.programmers.co.kr/learn/courses/30/lessons/12953
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 2.
์ฌ๋ฌ ์์ ์ต์๊ณต๋ฐฐ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๊ณ , ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด์ 2๊ฐ์ฉ ๊ตฌํ๋ฉด ๋๋ค
์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ณ์/ํจ์๋ช
- ์ต๋๊ณต์ฝ์ = gcd
- ์ต์๊ณต๋ฐฐ์ = lcm
์ต์๊ณต๋ฐฐ์ ๊ตฌํ ๋ [ a*b/gcd ] !!!!
gcd ํจ์์์ b๋ก ๊ณ์ ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ฉด์, b๊ฐ 0์ผ๋์ a๊ฐ์ด ์ต์๊ณต์ฝ์๊ฐ ๋๋ค.
๋์ ํ์ด
function gcd(a, b){
while(b>0){
let tmp = b;
b = a%b;
a = tmp;
}
return a;
}
function solution(arr) {
var answer = 0;
let i = 0;
while(arr.length > 1){
let a = arr[0];
let b = arr[1];
let gcdNum = gcd(a,b);
arr.shift(); arr.shift();
arr.push(a*b/gcdNum);
}
answer = arr[0];
return answer;
}
728x90
๋ฐ์ํ