ν‹°μŠ€ν† λ¦¬ λ·°

πŸ–₯ 문제

두 수의 μ΅œμ†Œκ³΅λ°°μˆ˜(Least Common Multiple)λž€ μž…λ ₯된 두 수의 배수 쀑 곡톡이 λ˜λŠ” κ°€μž₯ μž‘μ€ 숫자λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 2와 7의 μ΅œμ†Œκ³΅λ°°μˆ˜λŠ” 14κ°€ λ©λ‹ˆλ‹€. μ •μ˜λ₯Ό ν™•μž₯ν•΄μ„œ, n개의 수의 μ΅œμ†Œκ³΅λ°°μˆ˜λŠ” n 개의 μˆ˜λ“€μ˜ 배수 쀑 곡톡이 λ˜λŠ” κ°€μž₯ μž‘μ€ μˆ«μžκ°€ λ©λ‹ˆλ‹€. n개의 숫자λ₯Ό 담은 λ°°μ—΄ arr이 μž…λ ₯λ˜μ—ˆμ„ λ•Œ 이 μˆ˜λ“€μ˜ μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜, solution을 μ™„μ„±ν•΄ μ£Όμ„Έμš”.

πŸ€” 풀이 방법

  1. arr[0]κ³Ό arr[1]의 μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•μ„ μ΄μš©ν•˜μ—¬ κ΅¬ν•œλ‹€.
  2. 1λ²ˆμ—μ„œ κ΅¬ν•œ μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό κ΅¬ν•œλ‹€.
  3. 2λ²ˆμ—μ„œ κ΅¬ν•œ μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ arr[2]μ™€μ˜ μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό μœ ν΄λ¦¬λ“œ ν˜Έμ œλ²•μ„ μ΄μš©ν•˜μ—¬ κ΅¬ν•œλ‹€.
  4. 3λ²ˆμ—μ„œ κ΅¬ν•œ μ΅œλŒ€κ³΅μ•½μˆ˜λ₯Ό μ΄μš©ν•˜μ—¬ μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό κ΅¬ν•œλ‹€.
  5. 3, 4λ²ˆμ„ λ°˜λ³΅ν•œλ‹€.

πŸ‘©πŸ»‍πŸ’» Swift Code

import Foundation

func solution(_ arr:[Int]) -> Int {
    var gcd = 0
    var lcm = 0

    for i in 0..<arr.count-1 {
        var num1 = 0
        var num2 = 0

        // gcd
        if i == 0 {
            num1 = max(arr[i], arr[i + 1])
            num2 = min(arr[i], arr[i + 1])
        } else {
            num1 = max(lcm, arr[i + 1])
            num2 = min(lcm, arr[i + 1])
        }

        var r = 0
        while num1 % num2 != 0 {
            r = num1 % num2
            num1 = num2
            num2 = r
        }
        gcd = num2

        // lcm
        if i == 0 {
            lcm = arr[i] * arr[i + 1] / gcd
        } else {
            lcm = lcm * arr[i + 1] / gcd
        }

    }

    return lcm
}

 

 

μ½”λ”©ν…ŒμŠ€νŠΈ μ—°μŠ΅ - N개의 μ΅œμ†Œκ³΅λ°°μˆ˜

두 수의 μ΅œμ†Œκ³΅λ°°μˆ˜(Least Common Multiple)λž€ μž…λ ₯된 두 수의 배수 쀑 곡톡이 λ˜λŠ” κ°€μž₯ μž‘μ€ 숫자λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 2와 7의 μ΅œμ†Œκ³΅λ°°μˆ˜λŠ” 14κ°€ λ©λ‹ˆλ‹€. μ •μ˜λ₯Ό ν™•μž₯ν•΄μ„œ, n개의 수의 μ΅œμ†Œκ³΅λ°°

programmers.co.kr

 

λŒ“κΈ€
곡지사항
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€
Total
Today
Yesterday
링크
Β«   2024/09   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
κΈ€ 보관함