728x90
문제💭
나의 풀이👨💻
function solution(denum1, num1, denum2, num2) {
let result = [0,0]
let x = denum1*num2 + denum2*num1;
let y = num1*num2
let lcm = 1;
for(let i = 0; i <= x;i++){
if((x % i == 0) && (y % i == 0)){
lcm = i;
};
};
result[0] = x / lcm;
result[1] = y / lcm;
return result
}
다른 사람의 풀이👨🏫
1.
const solution = (denum1, num1, denum2, num2) => {
let [ denum, num ] = [denum1 * num2 + denum2 * num1, num2 * num1]
while(true) {
let isContinue = false
const min = denum < num ? denum : num
for (let i=2; i<=min; i++) {
if (denum % i === 0 && num % i === 0) {
denum = denum / i
num = num / i
isContinue = true
break
}
}
if (!isContinue) {
break
}
}
return [ denum, num ]
}
2.
var g=(a,b)=>b?g(b,a%b):Math.abs(a),l=(a,b)=>(a*b)/g(a,b),p,q,solution=(a,b,c,d)=>{return p=l(b,d),q=a*p/b+c*p/d,[q/g(p,q),p/g(p,q)]}
Reference
- 프로그래머스
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
728x90
'Programmers > Lv.0' 카테고리의 다른 글
[프로그래머스][Js] Lv.0 - 최빈값 구하기 (0) | 2023.03.17 |
---|---|
[프로그래머스][Js] Lv.0 - OX퀴즈 (0) | 2023.03.17 |
[프로그래머스][Js] Lv.0 - 다음에 올 숫자 (0) | 2023.03.15 |
[프로그래머스][Js] Lv.0 - 연속된 수의 합 (1) | 2023.03.14 |
[프로그래머스][Js] Lv.0 - 안전지대 (0) | 2023.03.14 |
댓글