[코딩테스트] 최대공약수와 최소공배수

2022. 9. 20. 09:46·개발/알고리즘
728x90
반응형

1. 문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

2. 다른 사람풀이 본 후

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

  for (let i = 1; i <= Math.min(n, m); i++) {
    if (n % i == 0 && m % i == 0) {
      answer = [i, (m * n) / i];
    }
  }
  return answer;
}

최소 공배수는  a*b/최대공약수   를 이용 했다.

 

3. 유클리드 호재법

function solution(a, b) {
  var answer = [];
  let r;
  for (var ab = a * b; (r = a % b); a = b, b = r) {}
  answer = [b, ab / b];

  return answer;
}

 

유클리드 호재법이란 a와 b의 최대공약수는 a를 b로 나눈 나머지 r과 b의 최대 공약수와 같다는 것이다.

또 r과 b의 최대공약수는 b를 r로 나눈 나머지와 r의 최대 공약수와 같다. 

이를 계속 반복하여 나머지가 0이될때 r값이 최대공약수가 된다.

 

참고한 사이트 : https://myjamong.tistory.com/138

728x90
반응형

'개발 > 알고리즘' 카테고리의 다른 글

[코딩테스트] 올바른 괄호  (0) 2022.09.28
[BigO] BigO 표기법  (0) 2022.09.26
[코딩테스트] 프로그래머스 문제 모음  (0) 2022.09.20
[프로그래머스 level2] Jaden Case문자열 만들기  (0) 2022.09.14
[2022.09.13] 프로그래머스 문제 모음  (0) 2022.09.13
'개발/알고리즘' 카테고리의 다른 글
  • [코딩테스트] 올바른 괄호
  • [BigO] BigO 표기법
  • [코딩테스트] 프로그래머스 문제 모음
  • [프로그래머스 level2] Jaden Case문자열 만들기
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    node
    하이퍼레저
    30일챌린지
    React
    명령어
    프로그래머스
    go
    nodejs
    node.js
    컨테이너
    js
    go언어
    CSS
    erc20
    블록체인
    도커
    ERC721
    mysql
    30일 챌린지
    html
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[코딩테스트] 최대공약수와 최소공배수
상단으로

티스토리툴바