728x90
반응형
모든 문제 출제는 프로그래머스 ㅎㅎ
주어진 n과 m에 대해 최대공약수, 최소공배수를 리턴하는 문제이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int n, int m) {
vector<int> answer;
int gcd = 1, lcm = 0, tmp = 0;
if(n>m)
{
tmp = n;
n = m;
m = tmp;
}
for(int i=2; i<=n; i++)
if(n%i==0 && m%i==0)
gcd = i;
lcm = (n * m) / gcd;
answer.push_back(gcd);
answer.push_back(lcm);
return answer;
}
|
cs |
이게 짜증나는게 i를 2부터 증가시켜가면서, n<m일 때, 2부터 n 내에서 n과 m이 나머지가 0이 되는 수가 없을 때까지 나눈 후 계속해서 gcd와 lcm을 구해놨드만 lcm은 구하는 공식이 있었다. 뻘짓인가..;;
728x90
반응형
'프로그래밍응용 > 오답노트' 카테고리의 다른 글
프로그래머스, 2016년 문제(C++, Python) (0) | 2021.02.25 |
---|---|
프로그래머스, 두 정수 사이의 합(C++, Python) (0) | 2021.02.25 |
프로그래머스, 3진법 뒤집기(C++) (0) | 2021.02.23 |
프로그래머스, 가운데 글자 가져오기 (C++) (0) | 2021.02.23 |
SQL4 (0) | 2021.02.23 |