๐Ÿ’ก Algorithm

[Java] ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ - ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• (Lv. 1)

jcowwk 2025. 3. 11. 10:19

์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ - ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• (Lv. 1)


1. ๋ฌธ์ œ

2. ํ’€์ด


1. ๋ฌธ์ œ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

 

2. ํ’€์ด

class Solution {
    int gcd(int n, int m) {
        int r;
        
        while(m > 0) {
            r = n % m;
            n = m;
            m = r;
        }
        
        return n;
    }
    
    public int[] solution(int n, int m) {
        int[] answer = new int[2];

        if (n < m) {
            int temp = n;
            n = m;
            m = temp;
        }
        
        answer[0] = gcd(n, m);
        
        answer[1] = n * m / answer[0];
        
        return answer;
    }
}

 

gcd()๋Š” ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(GCD)๋ฅผ ๊ตฌํ•˜๋Š” ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์„ ์ ์šฉํ•œ ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค.

 

 

  • n์„ m์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ r์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.
  • n์„ m์œผ๋กœ, m์„ r๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
  • m์ด 0์ด ๋  ๋•Œ๊นŒ์ง€ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด, ๋งˆ์ง€๋ง‰์œผ๋กœ ๋‚จ์€ n์ด ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์ž…๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(GCD)๋ฅผ ๊ตฌํ•˜๊ณ  ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(LCM)๋Š” ๋‘ ์ˆ˜์˜ ๊ณฑ์„ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋กœ ๋‚˜๋ˆ„๋ฉด ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 


๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š” !

ํ”ผ๋“œ๋ฐฑ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค <3