본문 바로가기
  • 개발 / 공부 / 일상
Programmers

(Programmers) [Lv. 1] 최대공약수와 최소공배수

by JJeongHyun 2023. 2. 10.
반응형

문제 설명

  • 두 개의 정수 n, m을 매개변수로 넘겨받는다
  • n과 m의 최대공약수와 최소공배수를 담는 배열을 만들어 보시오
  • 반환하는 배열의 첫 번째는 최대공약수, 두 번째는 최소공배수를 담아 반환하는 solution 함수를 완성하시오

 

제한사항

  • 두 수는 1 이상 1000000 이하의 자연수

 

입출력 예시

최대공약수와 최소공배수 입출력 예시

 

전체 코드

function solution(n, m) {
  let tempArr = [];
  let answer = [];
  for (let i = 1; i < Math.max(n, m); i++) {
    if (!(n % i) && !(m % i)) tempArr.push(i);
  }
  answer.push(tempArr[tempArr.length - 1]);
  if (!(Math.max(n, m) % Math.min(n, m))) answer.push(Math.max(n, m));
  else {
    answer.push((n * m) / tempArr[tempArr.length - 1]);
  }

  return answer;
}