728x90
반응형
SMALL
#include <string>
#include <vector>
using namespace std;
int gcd(int a, int b)
{
if(a % b == 0) return b;
else return gcd(b, a % b); // b / (a % b) == 0 이 될 때까지.
}
vector<int> solution(int numer1, int denom1, int numer2, int denom2) {
vector<int> answer;
// gcd() : 최대공약수 : 공약수 중 가장 큰 것
// lcm() : 최소공배수 : 두 개 이상의 자연수에 공통으로 존재하는 배수 중에서 가장 작은 수
int bunmo = denom1*denom2; // 분자
int bunza = denom2*numer1 + denom1*numer2;
int gcd_val = gcd(bunmo, bunza);
answer.push_back(bunza/gcd_val);
answer.push_back(bunmo/gcd_val);
return answer;
}
728x90
반응형
LIST
'C++' 카테고리의 다른 글
[프로그래머스] 나머지 구하기, 중앙값 구하기 (0) | 2025.09.01 |
---|---|
[프로그래머스] 배열 두 배 만들기 (0) | 2025.09.01 |
[프로그래머스] 숫자 비교하기 (0) | 2025.08.29 |
[프로그래머스] 몫 구하기, 두 수의 나눗셈 (0) | 2025.08.29 |
[프로그래머스] 두 수의 합 구하기 두 수의 차 구하기 (1) | 2025.08.29 |
댓글