๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด/-

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

by syLim___ 2023. 4. 3.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12940

 

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

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr


์šฉ์–ด ์ •๋ฆฌ

 - ์•ฝ์ˆ˜: ์–ด๋–ค ์ˆ˜๋ฅผ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๊ฒŒ ํ•˜๋Š” ์ˆ˜

 - ๊ณต์•ฝ์ˆ˜: ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ˆ˜์—์„œ ๊ณตํ†ต๋œ ์•ฝ์ˆ˜

 - ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜: ๊ณต์•ฝ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜

 - ๊ณต๋ฐฐ์ˆ˜: ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ˆ˜์—์„œ ๊ณตํ†ต๋œ ๋ฐฐ์ˆ˜

 - ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜: ๊ณต๋ฐฐ์ˆ˜ ์ค‘ ์ตœ์†Ÿ๊ฐ’

 

์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(greatest common divisor) ๊ตฌํ•˜๊ธฐ

1) ์•ฝ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ตฌํ•œ ํ›„ ๊ทธ์ค‘ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ๋Š”๋‹ค.

 

2) ๊ณตํ†ต๋œ ์†Œ์ธ์ˆ˜์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ ์ค‘ ์ง€์ˆ˜๊ฐ€ ์ž‘์€ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ณฑํ•œ๋‹ค.

 

3) ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 - x์™€ y ์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” y์™€ r์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ๊ฐ™๋‹ค. (r = x%y)

 - r์ด 0์ด ๋ ๋•Œ๊นŒ์ง€ ๊ณ„์†ํ•ด์„œ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ, ๋งˆ์ง€๋ง‰ y๊ฐ’์ด ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์ด๋‹ค.

 

 

์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(least common multiple) ๊ตฌํ•˜๊ธฐ

1) ๊ณตํ†ต์ธ ์†Œ์ธ์ˆ˜์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ์—์„œ ์ง€์ˆ˜๊ฐ€ ํฐ ์ˆ˜์™€, ๊ณตํ†ต๋˜์ง€ ์•Š์€ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๊ณฑํ•œ๋‹ค.

2) ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ = ๋‘ ์ž์—ฐ์ˆ˜์˜ ๊ณฑ / ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜

 


์ œ์ถœ ์ฝ”๋“œ

def GCD(a,b):
    if a % b == 0:
        return b
    else:
        return GCD(b, a%b)

def LCM(a,b):
    return a * b // GCD(a,b)

def solution(n, m):
    if n < m:
        n, m = m, n
    return [GCD(n,m), LCM(n,m)]
728x90