본문 바로가기

코딩테스트

프로그래머스 '최대공약수와 최소공배수' 코테 풀이

반응형

프로그래머스에서

레벨1, 코틀린 언어, 정답률이 높은 순으로 문제를 풀고 있습니다.

이번 문제는 '최대공약수와 최소공배수' 문제입니다.

사이트: https://school.programmers.co.kr/learn/challenges?order=acceptance_desc&levels=1&languages=kotlin&page=2

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

위의 방식대로

페이지 2에서 내리시면

'최대공약수와 최소공배수' 문제를 확인하실 수 있습니다.

제 풀이는 이렇습니다.

class Solution {
    fun solution(n: Int, m: Int): IntArray {
        var answer = intArrayOf(gcd(n, m), lcm(n, m))
        return answer
    }
    
    fun gcd(n: Int, m: Int): Int {
        var result = 0
        var max = Math.max(n, m)
        for(i in 1..max){
            if(n % i == 0 && m % i == 0){
                result = i
            }
        }
        return result
    }
    
    fun lcm(n: Int, m: Int): Int {
        var result = 0
        result = (n * m) / gcd(n, m)
        return result
    }
}

궁금하신 점이 있거나

더 나은 답이 있으시면 댓글로 알려주세요

감사합니다.

반응형