일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ingress-nginx
- Kubernetes
- openebs
- Code Jam 2022
- 파이썬
- hackerrank
- 3D PRINTING
- 방송통신대학교 대학원 정보과학과
- on-prem
- 하늘과 바람과 별과 시
- nestedlists
- Python
- 2022
- MySQL
- GitLab
- 방통대 대학원 정보과학과
- swift
- Qualification Round
- secondlowestgrade
- 하늘과 바람과 별과 詩
- K8S
- 해커랭크
- LEVEL 2
- 프로그래머스
- ESXi 업데이트
- 코딩테스트
- C++
- Code Jam
- 정보과학과
Archives
- Today
- Total
공대생의 비망록
[프로그래머스][Lv. 1] 최대공약수와 최소공배수 Swift 풀이 본문
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 |
'Programming Language > Swift' 카테고리의 다른 글
[프로그래머스][Lv. 1] 제일 작은 수 제거하기 Swift 풀이 (0) | 2022.03.14 |
---|---|
[프로그래머스][Lv. 1] 짝수와 홀수 Swift 풀이 (0) | 2022.03.14 |
[프로그래머스][Lv. 1] 콜라츠 추측 Swift 풀이 (0) | 2022.03.14 |
[프로그래머스][Lv. 1] 평균 구하기 Swift 풀이 (0) | 2022.03.14 |
[프로그래머스][Lv. 1] 하샤드 수 Swift 풀이 (0) | 2022.03.14 |
Comments