본문 바로가기
[ 다먹살 ]/- Coding

[프로그래머스] 레벨2 N개의 최소공배수

by 엉망으로살기 2021. 7. 27.
반응형

https://programmers.co.kr/learn/courses/30/lessons/12953?language=java 

 

코딩테스트 연습 - N개의 최소공배수

두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배

programmers.co.kr

 

최대공약수, 최소공배수는 수학 관련된 문제에서 많이 출제되는 것 같다. arr배열 크기 자체가 15로 제한되었기 때문에 단순히 for문을 사용해서 최소공배수를 구해주면 되는 문제였다.

처음에 arr[0], arr[1] 을 가지고 answer 값을 한 번 구해준 후 계산해나갔다.

 

class Solution
{
    public int choiso(int a, int b)
    {
        int temp = 0;
        int originA = a;
        int originB = b;
        
        while(b!=0)
        {
            temp = a;
            a = b;
            b = temp%b;
        }
        
        return (originA*originB)/a ; // return a일 경우에는 최대공약수
    }
    public int solution(int[] arr)
    {
        int answer = choiso(arr[0], arr[1]);
        
        for(int i=2; i<arr.length; i++)
        {
            answer = choiso(answer, arr[i]);
        }
        
        return answer;
    }
}

반응형

댓글