문제 링크 -> https://kolinuno.tistory.com/38
[프로그래머스/Kotlin] 정수 내림차순으로 배치하기
문제 링크 -> https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순..
kolinuno.tistory.com
문제 설명
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.
제한 사항- 두 수는 1이상 1000000이하의 자연수입니다.
------------------------------------------------------------풀이------------------------------------------------------------------
* 최대공약수는 두수의 공약수들중 공통되는 가장 큰 공약수이다. -> 유클리드 호재법으로 손쉽게 구할 수 있다.
* 최소공배수는 두수의 배수들중 공통된느 가장 작은 배수이다. -> (두수의 곱/최대공약수)가 최소공배수이다.
class Solution {
fun solution(n: Int, m: Int): IntArray {
var answer = intArrayOf(gcd(n, m), (n*m)/gcd(n,m))
return answer
}
fun gcd( x:Int, y:Int) : Int = if(y !=0) gcd(y , x%y) else x
}
위의 solution함수는 아래처럼 람다식으로 표현할 수 있다.
fun solution(n: Int, m: Int): IntArray = intArrayOf(gcd(n, m), (n*m)/gcd(n,m))
------------------------------------------------------------결과------------------------------------------------------------------
- 문제에 대한 질문 댓글 환영!
- 중간에 잘못된 부분이 있다면 댓글로 남겨주세요. 수정하겠습니다.
'Kotlin(프로그래머스) > Level 1' 카테고리의 다른 글
[프로그래머스/Kotlin] 평균 구하기 (0) | 2022.03.28 |
---|---|
[프로그래머스/Kotlin] 콜라츠 추측 (0) | 2022.03.22 |
[프로그래머스/Kotlin] 짝수와 홀수 (0) | 2022.03.22 |
[프로그래머스/Kotlin] 제일 작은수 제거하기 (0) | 2022.03.22 |
[프로그래머스/Kotlin] 정수 제곱근 판별 (0) | 2022.03.22 |
댓글