๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/Programmers

[Javascript/PGS] Lv.2 : N๊ฐœ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

by xxilliant 2025. 4. 8.
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
๋ฐ˜์‘ํ˜•