๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] N๊ฐœ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(Java)

by young-ji 2023. 12. 1.

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;
    }
}

 

์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜, ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ

๋Œ“๊ธ€