728x90
programmers.co.kr/learn/courses/30/lessons/12953
최소공배수(LCM) 은 "두 수의 곱 / 두 수의 최대공약수" 로 구한다.
최대공약수(GCD) 는 보통 유클리드 호제법으로 구한다.
- c++
#include <algorithm>
#include <vector>
using namespace std;
int gcd(int a, int b) { return a % b == 0 ? b : gcd(b, a % b); }
int lcm(int a, int b) { return a * b / gcd(a, b); }
int solution(vector<int> arr) {
int answer = arr[0];
sort(arr.begin(), arr.end());
for (int i = 1; i < arr.size(); ++i) answer = lcm(answer, arr[i]);
return answer;
}
|
cs |
자주 나오는 것들은 차라리 그냥 외우는게 나을듯..
728x90
'PS' 카테고리의 다른 글
BOJ 15684 - 사다리 조작 (0) | 2020.12.14 |
---|---|
프로그래머스 - JadenCase 문자열 만들기 (0) | 2020.12.09 |
프로그래머스 - 이진 변환 반복하기 (0) | 2020.12.09 |
프로그래머스 - 행렬의 곱셈 (0) | 2020.12.09 |
프로그래머스 - 짝지어 제거하기 (0) | 2020.12.08 |