티스토리 뷰
title: "N개의 최소공배수"
category: 프로그래머스[Level-2]
tags: [C++, JavaScript, 프로그래머스]
date: "2021-02-01"
문제 링크
C++
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int gcd(int a, int b){ // 최대공약수
if(a%b==0) return b;
else return gcd(b, a%b);
}
int lcm(int a, int b){ // 최소공배수
return a*b/gcd(a, b);
}
int solution(vector<int> arr) {
int answer = 1;
for(int num: arr){
answer=lcm(answer, num);
}
return answer;
}
JavaScript
function solution(arr) {
var answer = 1;
// 최대공약수
const gcd = (a, b) => {
if (a % b === 0) return b;
else return gcd(b, a % b);
};
// 최소공배수
const lcm = (a, b) => (a * b) / gcd(a, b);
arr.forEach((v) => {
answer = lcm(answer, v);
});
return answer;
}
728x90
반응형
'Programmers Solutions > Level-2' 카테고리의 다른 글
[프로그래머스] 소수 만들기 (0) | 2021.02.04 |
---|---|
[프로그래머스] 짝지어 제거하기 (0) | 2021.02.04 |
[프로그래머스] JadenCase 문자열 만들기 (0) | 2021.02.03 |
[프로그래머스] 타겟 넘버 (0) | 2021.02.01 |
[프로그래머스] 구명보트 (0) | 2021.02.01 |
댓글