728x90
반응형
문제 : 최대공약수와 최소공배수
풀이 방법
유클리드 호제법을 쓰지 않으면 시간 오류가 뜨기 때문에 유클리드 호제법을 찾아봐야한다.
공식을 이해하느라 유튜브도 찾아보고 그랬었긴 했다.
원리를 설명하는 영상은 이 영상이 최고인듯하다.
풀이 코드
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int n, int m) {
vector<int> answer(2, 1);
int a, b, tmp;
if(n > m)
{
tmp = m;
m = n;
n = tmp;
}
a = n, b = m, tmp = 0;
while(b % a != 0)
{
tmp = b % a;
b = a;
a = tmp;
}
answer[0] = a;
answer[1] = (n * m) / answer[0];
return answer;
}
728x90
반응형
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[Level 1, C] 숫자 문자열과 영단어 (0) | 2022.07.04 |
---|---|
[Level 1, C++] 체육복 (0) | 2022.07.04 |
[Level 1, C++] 시저 암호 (0) | 2022.07.04 |
[Level 1, C++] 자연수 뒤집어 배열로 만들기 (0) | 2022.07.04 |
[Level 1, C++] x만큼 간격이 있는 n개의 숫자 (0) | 2022.07.04 |