풀이 과정
최대공약수와 최소공배수의 기초 문제이다.
여러 개의 최소공배수를 구하려면 두 개의 최소공배수를 구한 것에 다음 수를 넣으면 된다.
#include <string>
#include <vector>
using namespace std;
int gcd(int a, int b){
while(b != 0){
int r = a % b;
a = b;
b = r;
}
return a;
}
int lcm(int a, int b){
return a * b / gcd(a, b);
}
int solution(vector<int> arr) {
int answer = 0;
int num = arr[0];
for(int i = 1; i < arr.size(); i++){
num = lcm(num, arr[i]);
}
answer = num;
return answer;
}
'🍞 Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스][Level2] 멀쩡한 사각형 c++ (0) | 2022.10.21 |
---|---|
[프로그래머스][Level2] 거리두기 확인하기 c++ (0) | 2022.10.20 |
[프로그래머스][Level2] 피보나치 수 c++ (0) | 2022.10.20 |
[프로그래머스][Level2] 큰 수 만들기 c++ (0) | 2022.10.20 |
[프로그래머스][Level2] 가장 큰 정사각형 c++ (0) | 2022.10.20 |