문제 🔽
https://school.programmers.co.kr/learn/courses/30/lessons/12940https://school.programmers.co.kr/learn/courses/30/lessons/131128
다른사람 풀이 🔽
function gcdlcm(a, b) {
var gcd = function(b, a) {
var r = (b % a);
return (r) ? gcd(a, r) : a;
}
return [gcd(b, a), ((b * a) / gcd(b, a))];
}
내풀이🔽
1. 성공 ⭕
function solution(n, m) {
var answer = [];
let maxNumber=Math.max(n,m)
let minNumber=Math.min(n,m)
for(let i=minNumber; i>=1; --i){
if(n%i===0&&m%i===0){
answer.push(i)
break;
}
}
let refNum = maxNumber
while(answer.length===1){
if(refNum%n===0&&refNum%m===0){
answer.push(refNum)
break;
}
++refNum;
}
return answer;
}
느낀점🔽
너무 생각안하고 풀어서 길게 코드가 뽑혔다
최대 공배수가 두수의곱/최대공약수 임을 이용했으면 참 짧게 끝났을텐데 아쉽다🤔
'Javascript' 카테고리의 다른 글
프로그래머스 코딩테스트 풀이(js) > 삼총사(lv1) (0) | 2023.07.25 |
---|---|
프로그래머스 코딩테스트 풀이(js) > 개인정보 수집 유효기간(lv1) (0) | 2023.07.24 |
프로그래머스 코딩테스트 풀이(js) > 숫자 짝꿍(lv1) (0) | 2023.07.22 |
프로그래머스 코딩테스트 풀이(js) > 행렬의 덧셈(lv1) (0) | 2023.07.21 |
프로그래머스 코딩테스트 풀이(js) > 크레인 인형 뽑기 게임(lv1) (0) | 2023.07.20 |