λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
⌨️ Language/swift

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ LV.1] μ΅œλŒ€κ³΅μ•½μˆ˜μ™€ μ΅œμ†Œκ³΅λ°°μˆ˜

by hyebin (Helia) 2023. 2. 11.
λ°˜μ‘ν˜•
ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ LV.1 λͺ¨μŒ

μ΅œλŒ€κ³΅μ•½μˆ˜μ™€ μ΅œμ†Œκ³΅λ°°μˆ˜

문제 μ„€λͺ…

두 수λ₯Ό μž…λ ₯λ°›μ•„ 두 수의 μ΅œλŒ€κ³΅μ•½μˆ˜μ™€ μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜, solution을 μ™„μ„±ν•΄ λ³΄μ„Έμš”. λ°°μ—΄μ˜ 맨 μ•žμ— μ΅œλŒ€κ³΅μ•½μˆ˜, κ·Έλ‹€μŒ μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό λ„£μ–΄ λ°˜ν™˜ν•˜λ©΄ λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 두 수 3, 12의 μ΅œλŒ€κ³΅μ•½μˆ˜λŠ” 3, μ΅œμ†Œκ³΅λ°°μˆ˜λŠ” 12μ΄λ―€λ‘œ solution(3, 12)λŠ” [3, 12]λ₯Ό λ°˜ν™˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μ œν•œ 사항

  • 두 μˆ˜λŠ” 1 이상 1000000 μ΄ν•˜μ˜ μžμ—°μˆ˜μž…λ‹ˆλ‹€.

μž…μΆœλ ₯ 예

n m return
3 12 [3, 12]
2 5 [1, 10]

μž…μΆœλ ₯ 예 μ„€λͺ…

μž…μΆœλ ₯ 예 #1

  • μœ„μ˜ μ„€λͺ…κ³Ό κ°™μŠ΅λ‹ˆλ‹€.

μž…μΆœλ ₯ 예 #2

  • μžμ—°μˆ˜ 2와 5의 μ΅œλŒ€κ³΅μ•½μˆ˜λŠ” 1, μ΅œμ†Œκ³΅λ°°μˆ˜λŠ” 10μ΄λ―€λ‘œ [1, 10]을 리턴해야 ν•©λ‹ˆλ‹€.

제좜

//μ΅œλŒ€κ³΅μ•½μˆ˜
func gcd(_ a: Int, _ b: Int) -> Int {
    if b == 0 {
        return a
    } else {
        return gcd(b, a%b)
    }
}

//μ΅œμ†Œκ³΅λ°°μˆ˜
func lcm(_ a: Int, _ b: Int) -> Int{
    return a * b / gcd(a, b)
}

func solution(_ n:Int, _ m:Int) -> [Int] {
    return [gcd(n, m), lcm(n, m)]
}
λ°˜μ‘ν˜•