본문 바로가기

# 02/Swift - CTP

[Swift] 코딩테스트 연습! Lv1. 최대공약수와 최소공배수

반응형
/* 최대공약수와 최소공배수

 - 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.
 
 제한 사항
 두 수는 1이상 1000000이하의 자연수입니다.
*/
// 최대공약수
func gcd(_ a: Int, _ b: Int) -> Int{
    if (b == 0) { return a }
    return gcd(b, a % b)
}

// 최소공배수
func lcm(_ a: Int, _ b: Int) -> Int {
    return a * b / gcd(a, b)
}

func solution24(_ n:Int, _ m:Int) -> [Int] {
    [gcd(n,m), lcm(n,m)]
}
반응형