Programming Language/Swift
[프로그래머스][Lv. 1] 최대공약수와 최소공배수 Swift 풀이
myungsup1250
2022. 3. 14. 16:10
https://programmers.co.kr/learn/courses/30/lessons/12940
코딩테스트 연습 - 최대공약수와 최소공배수
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의
programmers.co.kr
풀이
아주 유명한 문제이다.
유클리드 호제법을 적용하여 풀면 된다.
참고 : 위키백과 유클리드 호제법
끝!
1
2
3
4
5
6
7
8
9
10
|
func gcd(_ n: Int, _ m: Int) -> Int {
return m == 0 ? n : gcd(m, n % m)
}
func solution(_ n:Int, _ m:Int) -> [Int] {
let a: Int = max(n, m), b: Int = min(n, m)
let _gcd: Int = gcd(a, b), _lcm: Int = a * b / _gcd
return [_gcd, _lcm]
}
|
cs |