티스토리 뷰


title: "최대공약수와 최소공배수"
category: 프로그래머스[Level-1]
tags: [C++, JavaScript, 프로그래머스]
date: "2021-01-20"


문제 링크

최대공약수와 최소공배수

C++

#include <string>
#include <vector>

using namespace std;

int func(int a, int b){
    if(a % b == 0) return b;
    return func(b, a % b);  // 나누어떨어질 때까지 재귀
}

vector<int> solution(int n, int m) {
    vector<int> answer;

    answer.push_back(func(n, m));       // 최대공약수
    answer.push_back(n*m/answer[0]);    // 최소공배수

    return answer;
}

JavaScript

function solution(n, m) {
  var answer = [];

  const func = (a, b) => {
    if (a % b === 0) return b;
    return func(b, a % b);
  };

  answer.push(func(n, m)); // 최대공약수
  answer.push((n * m) / answer[0]); // 최소공배수

  return answer;
}
728x90
반응형
댓글
04-30 09:39
링크