관리 메뉴

기억을 위한 기록들

[프로그래머스 lv 2 ] - N개의 최소공배수 본문

Coding Test - cpp

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

에드윈H 2021. 3. 29. 16:22

programmers.co.kr/learn/courses/30/lessons/12953

 

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

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

programmers.co.kr

#include <string>
#include <vector>
#include <algorithm>

using namespace std;
int gcd(int a,int b)
{
	int c;
	while (b != 0)
	{
		c = a % b;
		a = b;
		b = c;
	}
	return a;
}

int lcm(const int& a,const int& b)
{
	return a * b / gcd(a, b);
}
int solution(vector<int> arr) {
	
	int curLcm = arr[arr.size() - 1];

	for (int i = 0; i < arr.size() - 1; i++)
	{
		curLcm = lcm(arr[i], curLcm);
	}
	return curLcm;
}