์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(LCM) ํ•œ ๋ฐฉ์— ๋๋‚ด๊ธฐ: lcm = a*b // gcd(a,b) + ๋ˆ„์ 

2026. 1. 11. 22:45ยท๐Ÿ‘ฉ‍๐Ÿ’ปDeveloper ๐Ÿ’ก/๐Ÿคน‍โ™€๏ธAlgorithm & Coding Test๐Ÿ’ƒ

์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(LCM) ํ•œ ๋ฐฉ์— ๋๋‚ด๊ธฐ: lcm = a*b // gcd(a,b) + ๋ˆ„์ 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ์ž์ฃผ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๊ฐ€ “๋ฐฐ์—ด์— ์žˆ๋Š” ์ˆซ์ž๋“ค์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(LCM)๋ฅผ ๊ตฌํ•˜๋ผ” ์ž…๋‹ˆ๋‹ค.
ํ”ผ๋ณด๋‚˜์น˜์ฒ˜๋Ÿผ ์ปค์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’๋„ ์•„๋‹ˆ๊ณ , ์ˆ˜ํ•™ ๊ณต์‹ ํ•˜๋‚˜๋งŒ ์ดํ•ดํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ์—„์ฒญ ๋‹จ์ˆœํ•ด์ ธ์š”.

ํ•ต์‹ฌ ์•„์ด๋””์–ด 1) GCD(์ตœ๋Œ€๊ณต์•ฝ์ˆ˜)์™€ LCM(์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜)์˜ ๊ด€๊ณ„

๋‘ ์ •์ˆ˜ a, b์— ๋Œ€ํ•ด ๋‹ค์Œ์ด ํ•ญ์ƒ ์„ฑ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

  • lcm(a, b) = a * b // gcd(a, b)

์™œ๋ƒ๋ฉด, g = gcd(a,b)๋ผ๊ณ  ํ•  ๋•Œ
a = g * a', b = g * b'๋กœ ์“ธ ์ˆ˜ ์žˆ๊ณ (๊ณตํ†ต์ธ์ˆ˜ g๋ฅผ ๋ฝ‘์•„๋‚ธ ํ˜•ํƒœ),
์ด๋•Œ a'์™€ b'๋Š” ์„œ๋กœ์†Œ๋ผ์„œ(๊ฒน์น˜๋Š” ์ธ์ˆ˜๊ฐ€ ์—†์Œ) ๋‘ ์ˆ˜๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ์ตœ์†Œ ๋ฐฐ์ˆ˜๋Š”

  • lcm(a,b) = g * a' * b'

๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ a*b = (g*a')*(g*b') = g^2 * a' * b' = g * (g*a'*b') = g * lcm(a,b) ์ด๋ฏ€๋กœ
๊ฒฐ๊ตญ lcm(a,b) = a*b / g๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  LCM์€ ์ •์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜๋ˆ—์…ˆ์€ /๊ฐ€ ์•„๋‹ˆ๋ผ ์ •์ˆ˜ ๋‚˜๋ˆ—์…ˆ // ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.


ํ•ต์‹ฌ ์•„์ด๋””์–ด 2) ๋ฐฐ์—ด ์ „์ฒด LCM์€ “์•ž์—์„œ๋ถ€ํ„ฐ ๋ˆ„์ ”

๋ฐฐ์—ด arr = [a, b, c, ...]์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š”

  • lcm(a, b, c, ...) = lcm(lcm(a, b), c, ...)

์ฒ˜๋Ÿผ ์ˆœ์„œ์™€ ์ƒ๊ด€์—†์ด ๋ˆ„์ ํ•ด์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰,

  1. ์ฒซ ๋ฒˆ์งธ ๊ฐ’์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ 
  2. ๋‹ค์Œ ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ํ•ฉ์น˜๋ฉด์„œ lcm์œผ๋กœ ๊ฐฑ์‹ ํ•˜๋ฉด ๋!

์ •๋‹ต ์ฝ”๋“œ (ํŒŒ์ด์ฌ)

 
from math import gcd
 
def solution(arr):
 
l = arr[0] for x in arr[1:]:
l = l * x // gcd(l, x)
 
return l

'๐Ÿ‘ฉโ€๐Ÿ’ปDeveloper ๐Ÿ’ก > ๐Ÿคนโ€โ™€๏ธAlgorithm & Coding Test๐Ÿ’ƒ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

MLA 2์ฃผ์ปท ใ„ฑใ„ฑ!  (0) 2026.01.26
ํŒŒ์ด์ฌ format() ํ•œ ๋ฐฉ์— ๋๋‚ด๊ธฐ: ์ž๋ฆฟ์ˆ˜(0 padding) + ์ด์ง„์ˆ˜ ๋ณ€ํ™˜ + ์‹ค์ „ ์˜ˆ์‹œ(๋น„๋ฐ€์ง€๋„)  (1) 2026.01.19
Two Pointers(ํˆฌํฌ์ธํ„ฐ) โ€” โ€œ์–‘์ชฝ์—์„œ ์ขํ˜€๊ฐ€๋ฉฐ O(n)์œผ๋กœ ๋๋‚ด๋Š” ๊ธฐ์ˆ โ€  (1) 2026.01.11
์‚ผ์„ฑ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•ฉ๊ฒฉ์„  ์ •๋ฆฌ (ADV / PRO)  (1) 2026.01.09
'๐Ÿ‘ฉ‍๐Ÿ’ปDeveloper ๐Ÿ’ก/๐Ÿคน‍โ™€๏ธAlgorithm & Coding Test๐Ÿ’ƒ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • MLA 2์ฃผ์ปท ใ„ฑใ„ฑ!
  • ํŒŒ์ด์ฌ format() ํ•œ ๋ฐฉ์— ๋๋‚ด๊ธฐ: ์ž๋ฆฟ์ˆ˜(0 padding) + ์ด์ง„์ˆ˜ ๋ณ€ํ™˜ + ์‹ค์ „ ์˜ˆ์‹œ(๋น„๋ฐ€์ง€๋„)
  • Two Pointers(ํˆฌํฌ์ธํ„ฐ) — “์–‘์ชฝ์—์„œ ์ขํ˜€๊ฐ€๋ฉฐ O(n)์œผ๋กœ ๋๋‚ด๋Š” ๊ธฐ์ˆ ”
  • ์‚ผ์„ฑ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•ฉ๊ฒฉ์„  ์ •๋ฆฌ (ADV / PRO)
fulfilling_enjoyable yeona๐Ÿถ๐Ÿฆซ
fulfilling_enjoyable yeona๐Ÿถ๐Ÿฆซ
Quantitative Research Engineer & Quantitative Strategist | Multimodal Alpha (Price/News/On-chain) | Regime-aware, Cost-included Backtests | Remote-first ์—ฐ๋ฆฌ์˜ ๋‚œ ๋จธ๋‹ˆ๐Ÿ’ฐ๊ฐ€ ์ข‹์•„๐Ÿ’™๐Ÿฅณ ์ถฉ๋งŒํ•˜๊ฒŒ ๊ทธ๋ฆฌ๊ณ  ์ฆ๊ฒ๊ฒŒ ๐Ÿถ ๐Ÿฆซ ๐Ÿ’›
  • fulfilling_enjoyable yeona๐Ÿถ๐Ÿฆซ
    Yeona's Diary
    Quantitative Researcher & Engineer
    AboutMe ๋ชฉํ‘œ GitHub Blog
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐Ÿค ๐Ÿ˜Ž ์•ˆ๋…•โ˜ƒ๏ธ๐Ÿ’ž (103) N
      • ๐Ÿ’™ ๐Ÿค Diary๐Ÿฐ ๐ŸŽ€ ๐Ÿงธ (39) N
        • ๐Ÿ—ฝ๋ฏธ๊ตญ DS & CS ๋ฐ•์‚ฌ ์ด๋ฏผ๐Ÿ‹ (28)
        • ๐Ÿ›ซ์—ฌํ–‰ ์ด์•ผ๊ธฐ (1)
        • ๐Ÿ“’์˜ค๋Š˜ ์ด์•ผ๊ธฐ๐Ÿ’’๐Ÿซง๐ŸŒค๏ธ (6) N
        • ๐Ÿฐโ˜˜๏ธ๐Ÿป‍โ„๏ธ๊ฐ•์•„์ง€ ์œก์•„ (0)
      • ๐ŸฌActuary๐Ÿคธ‍โ™€๏ธโœจ (1)
      • ๐Ÿ‘ฉ‍๐Ÿ’ปDeveloper ๐Ÿ’ก (5) N
        • โš’๏ธ์‚ฝ์งˆ ๊ธฐ๋ก๊ธฐ๐Ÿ“[TIL] (6)
        • ๐Ÿ–ผ๏ธFront-end๐ŸŽจ (3)
        • ๐Ÿ’พBack-end๐Ÿ•Š๏ธ (15)
        • ๐Ÿคน‍โ™€๏ธAlgorithm & Coding Test๐Ÿ’ƒ (5)
        • ๐Ÿ—ปData๐Ÿ”๏ธ (1)
        • ๐Ÿ“Project๐Ÿ• (8) N
      • ๐Ÿ’ฐ๊ฒฝ์ œ์  ์ž์œ  ๋‹ฌ์„ฑโœŒ๏ธ๐ŸคŸ (8)
        • ๐Ÿ“ŠQuant๐Ÿ“ˆ๐Ÿ‘ (4)
        • ๐Ÿฐ๐Ÿ›’๐Ÿฅ‡ (1)
        • ๐Ÿ’Ž ํˆฌ์ž ์‹ค์ „ ๊ฒฝํ—˜ โ˜บ๏ธ (1)
        • ๐Ÿ… Bitcoin 15๊ฐœ ๋ชจ์œผ๊ธฐ : 2040๋…„ 200์–ต+ (0)
        • ๐ŸŒŽ๋ฏธ๊ตญ ์‹œ์žฅ๐Ÿฆ (0)
      • ๐ŸŒค๏ธCloud๐ŸŒค๏ธโ˜๏ธ (2)
        • AWS (1)
        • Kubernetes (0)
        • Google Cloud Professional (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • git
  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์‹œ์นด๊ณ ๋Œ€
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    CS
    ๊ฐ€์„ํ•™๊ธฐ
    ์‹œ์นด๊ณ 
    Java
    AWS
    ์‹œ์นด๊ณ ๋Œ€ํ•™๊ต
    DS
    ๋ฏธ๊ตญ์œ ํ•™
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.5
fulfilling_enjoyable yeona๐Ÿถ๐Ÿฆซ
์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(LCM) ํ•œ ๋ฐฉ์— ๋๋‚ด๊ธฐ: lcm = a*b // gcd(a,b) + ๋ˆ„์ 
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”