```
백준2609번 GCD, LCM 최대공약수, 최소공배수 C++로 구현해보기
```

이번 글을 통해 배워갈 내용
- 백준 2609번 풀이
- 최소 공약수, 최대공약수 C++(17)로 구현
https://www.acmicpc.net/problem/2609
2609번: 최대공약수와 최소공배수
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
www.acmicpc.net
야간에 코딩문제를 풀다보면 본인도 모르게 귀찮아져서
직접 라이브러리 없이 구현하기 보다
STL 라이브러리를 써서 구현하는 경우도 종종 된다.
그 예시가 이문제인데
최대공약수 최소공배수를 직접 구현한게 아니고 라이브러리를 써서 3분컷을 하였다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
일단 해당 문제를 풀기위해서는 C++ 17부터 본격적으로 지원하는
numeric을 추가해야 하기 떄문에
컴파일러 버전을 C++ 17이상으로 해주어야 한다.
#include <algorithm>
#include<numeric>
그뒤 값을 입력받고
GCD, LCM 함수에 넣어주고 리턴값을 받아서 출력만 하면 된다.
아래는 전체 코드이다.
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <stack>
#include <algorithm>
#include<numeric>
https://www.acmicpc.net/problem/2609
using namespace std;
class CFindGcdAndLcm
{
private:
int number1;
int number2;
public:
CFindGcdAndLcm()
{
}
~CFindGcdAndLcm()
{
}
void getInputFromUser()
{
string inputStr;
int retVal;
/* 입력 속도를 줄여서 시간제한을 통과하기 위해서 stringstream 사용*/
std::getline(cin, inputStr);
stringstream ss(inputStr);
ss >> number1;
ss >> number2;
}
int findGcd()
{
return gcd(number1, number2);
}
int findLcm()
{
return std::lcm(number1, number2);
}
};
int main()
{
CFindGcdAndLcm* cFindGcdAndLcm= new CFindGcdAndLcm();
// 값을 입력받는다.
cFindGcdAndLcm->getInputFromUser();
const int Gcd = cFindGcdAndLcm->findGcd();
std::cout << Gcd << endl;
const int Lcm = cFindGcdAndLcm->findLcm();
std::cout << Lcm << endl;
}
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩하시길 바랍니다 ~ :)
참조 및 인용
C++ Primer
Introduction to Algorithms
https://codemasterkimc.tistory.com/35
C++ 이론을 배울수 있는 곳 정리
개요 C++을 배우는 책, 강의, 블로그, 링크 등을 공유합니다. (링크 및 간략한 설명을 하였으나 만약 원작자가 링크를 거는것을 원치 않을 경우 연락주시기 바랍니다.) 서적 https://www.amazon.com/Prime
codemasterkimc.tistory.com
https://codemasterkimc.tistory.com/50
300년차 개발자의 좋은 코드 5계명 (Clean Code)
이번 글을 통해 배워갈 내용 좋은 코드(Clean Code)를 작성하기 위해 개발자로서 생각해볼 5가지 요소를 알아보겠습니다. 개요 좋은 코드란 무엇일까요? 저는 자원이 한정적인 컴퓨터 세상에서 좋
codemasterkimc.tistory.com
'C++ > C++ 알고리즘' 카테고리의 다른 글
| 백준17219번 비밀번호 찾기 C++로 구현해보기 (0) | 2021.08.29 |
|---|---|
| 백준 4949번 균형 잡힌 세상(balanced world) C++로 구현해보기 (0) | 2021.08.29 |
| 백준10773번 간단한 스택구조 C++로 구현해보기 (0) | 2021.08.29 |
| 백준 1212번, 1373번, 8진수 2진수로 변환, 2진수 8진수로 변환 C++ (0) | 2021.08.28 |
| 백준1043번 거짓말 C++로 구현해보기 (0) | 2021.08.27 |