프로그래머스 1단계 - 최대공약수와 최소공배수

donghwi1289·2022년 9월 25일
0

프로그래머스

목록 보기
28/45

< 문제 >

풀이

  • 유클리드 호제법으로 풀이 (https://www.youtube.com/watch?v=Obs-HC5j5bI)
    영상보고 학습, 최대값을 구할때는 a에서 b를 나눈 나머지가 0일땐 b를 return 그렇지 않은경우는 재귀로 다시 함수를 호출하는데 gcd(b, a % b)로 인자로 b, a% b를 첨부 해서 계속 반복,
    최소공배수 구하는공식 = (a * b) / 최대공배수
    유클리드 호제법으로 풀이.
function solution(n, m) {
  const gcd = (a, b) => {
    if (a % b === 0) {
      return b;
    } else {
      return gcd(b, a % b);
    }
  };
  const lcm = (a, b) => {
    return (a * b) / gcd(a, b);
  };
  return [gcd(n, m), lcm(n, m)];
}

console.log(solution(3, 12));
console.log(solution(2, 5));
profile
Front-End Developer #Nextjs #React #Typescript

0개의 댓글