[프로그래머스,Level 1] 최대공약수와 최소공배수(JAVA 구현)

2020. 12. 28. 18:58·CodingTest/프로그래머스(Programmers)
반응형

- 첫 풀이 및 정답풀이

  최소 공약수와 최소공배수를 수학적으로 구하는 방법은 알고 있었지만, 별도의 알고리즘이 존재하는지 알아보았더니 '유클리드 호제법'이라는 알고리즘에 대해서 알 수 있었다. 최대공약수와 최소공배수의 개념 및 유클리드 호제법에 대한 설명은 아래 블로그를 참고하면 좋을 것 같다.

 

정수론 (1) - 최대공약수, 최소공배수, 유클리드 호제법

안녕하세요, Dimen입니다! 오늘부터 정수론에 대한 글을 써보고자 합니다. 정수론은 정규 수학 교육과정에서 잘 다루지 않기 때문에 많은 분들에게 생소한 분야입니다. 그런 만큼 많은 분들에게

dimenchoi.tistory.com

class Solution {
    public int[] solution(int n, int m) {
        int[] answer = new int[2];
        
        // 1. 입력 데이터 중 큰 값을 a, 작은 값을 b에 저장.
        int a = n>=m ? n : m;
        int b = n<m ? n : m;
        // 1-1. 데이터 저장을 위한 임시 변수.
        int temp;
        
        // 2. 큰 수 % b가 0이 될 때 까지 반복.
        while(a % b != 0 ){
            // 2-1. 큰 수를 임시저장.
            temp = a;
            // 2-2. 작은 수를 큰 수 변수로 저장.
            a = b;
            // 2-3. 기존의 큰 수인 temp % b를 작은 수로 저장.
            b = temp % b;            
        }
        
        // 3. a % b == 0 일 때, b가 두 수의 최대공약수, 두 수의 곱을 최대공약수로 나눈 것이 최소공배수
        answer[0] = b;
        answer[1] = (n * m) / b;
        
        return answer;
    }
}
저작자표시 (새창열림)
'CodingTest/프로그래머스(Programmers)' 카테고리의 다른 글
  • [프로그래머스,Level 1] 제일 작은 수 제거하기(JAVA 구현)
  • [프로그래머스,Level 1] 짝수와 홀수(JAVA 구현)
  • [프로그래머스,Level 1] 콜라츠 추측(JAVA 구현)
  • [프로그래머스,Level 1] 평균 구하기(JAVA 구현)
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    leetcode 2236
    자바
    프로그래머스
    Easy
    백준1427
    백준7576자바
    boj2108
    백준2751
    TypeScript
    next 14
    meidum
    Java
    알고리즘
    BOJ
    백준
    component-scan
    백준7576
    medium
    백준1260
    boj1427
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[프로그래머스,Level 1] 최대공약수와 최소공배수(JAVA 구현)
상단으로

티스토리툴바