Junior-Developer
Home
  • Category (316)
    • 문제풀이 (270)
      • 백준oj (201)
      • 프로그래머스 (53)
      • 명품 자바 프로그래밍(개정4판) (11)
      • 구름 (5)
    • 알고리즘 (6)
    • Node.js (2)
    • 체크리스트 (37)
블로그 내 검색
Home

Junior-Developer

1일 1커밋! 1일 1 백준!

  • 문제풀이/프로그래머스

    [프로그래머스] 최대공약수와 최소공배수

    2021. 6. 12.

    by. Hyeon-Uk

    반응형

    https://programmers.co.kr/learn/courses/30/lessons/12940

     

    코딩테스트 연습 - 최대공약수와 최소공배수

    두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의

    programmers.co.kr


     

    -풀이-

    gcd알고리즘을 이용하여 최대공약수를 구한다. 그다음 n*m/gcd = 최소공배수를 이용하여 최소공배수도 구한다.

     

    -시간복잡도-

    모든 로직이 단순 계산이기때문에 O(1)이 된다.

     

    -코드-

    #include <string>
    #include <vector>
    
    using namespace std;
    
    int gcd(int a,int b){
        if(b==0){
            return a;
        }
        return gcd(b,a%b);
    }
    
    vector<int> solution(int n, int m) {
        vector<int> answer;
        if(n<m){
            int temp=n;
            n=m;
            m=temp;
        }
        
        int _gcd=gcd(n,m);
        
        answer.push_back(_gcd);
        answer.push_back(n*m/_gcd);
        
        return answer;
    }
    반응형
    저작자표시 (새창열림)

    '문제풀이 > 프로그래머스' 카테고리의 다른 글

    [프로그래머스] [1차] 비밀지도  (0) 2021.06.19
    [프로그래머스] 이름이 있는 동물의 아이디  (0) 2021.06.13
    [프로그래머스] 소수 만들기  (0) 2021.06.07
    [프로그래머스] [1차]다트 게임  (0) 2021.06.04
    [프로그래머스] 실패율  (0) 2021.06.01

    댓글

    관련글

    • [프로그래머스] [1차] 비밀지도 2021.06.19
    • [프로그래머스] 이름이 있는 동물의 아이디 2021.06.13
    • [프로그래머스] 소수 만들기 2021.06.07
    • [프로그래머스] [1차]다트 게임 2021.06.04
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Powered by ⓒ Kakao Corp.

Designed by Nana
블로그 이미지
Hyeon-Uk

티스토리툴바