반응형
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/12940
2. 설명
최대공약수:
공약수를 넣을 빈 배열 a를 선언해준다.
1부터 n까지, n과 m 둘 다 나누었을 때 나머지가 0이 되는 n과 m의 공약수를 찾아 a에 push한다.
최대공약수는 공약수 중 가장 큰 수를 말하므로, a[a.length-1]값을 리턴할 배열인 answer에 push해준다.
최소공배수:
문제에 두 수는 1이상 1000000이하의 자연수라고 나와있으므로,
m부터 1,000,000까지 n과 m 둘 다 나누었을 때 나머지가 0이되는 첫번째 j가 n과 m의 최소공배수를이므로,
조건을 만족하는 j가 나오면 answer에 push해준 후, break를 통해 반복문을 빠져나온다.
3. 코드
function solution(n, m) {
var answer = [];
//최대공약수
let a = [];
for(let i = 1;i <= n;i++){
if(n % i == 0 && m % i == 0){
a.push(i);
}
}
answer.push(a[a.length-1])
//최소공배수
for(let j = m;j <= 1000000;j++){
if(j % n == 0 && j % m == 0){
answer.push(j);
break;
}
}
return answer;
}
반응형
'프로그래머스 > 구현' 카테고리의 다른 글
[수학] 프로그래머스 '숫자의 표현' - js (0) | 2022.09.26 |
---|---|
[문자열] 프로그래머스 '숫자 문자열과 영단어' - js (0) | 2022.09.19 |
[소수] 프로그래머스 '소수 찾기' - js (0) | 2022.09.19 |
[구현]프로그래머스 '부족한 금액 계산하기' - js (0) | 2022.09.16 |
[피보나치]프로그래머스 '피보나치 수' - js (0) | 2022.09.16 |