한 걸음씩
[프로그래머스][JS] 분수의 덧셈 본문
https://school.programmers.co.kr/learn/courses/30/lessons/120808
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이 과정
function solution(numer1, denom1, numer2, denom2) {
// 변수 denom은 분모, numer은 분자, 분모 분자 계산법을 따름
let denom = (denom1 * denom2)
let numer = (numer1 * denom2) + (numer2 * denom1)
const result = [numer, denom]
while(numer !== 0){ // numer가 0이 될 때까지 반복
const remainder = denom % numer // denom을 numer로 나눈 나머지
denom = numer // denom에는 numer값을
numer = remainder // numer에는 나머지 값을
}
// denom값이 최대공약수 -> result 배열의 원소를 찾아 나눈 후 반환
const filtering = result.map(item => item / denom)
return filtering
}
유클리드 호제법을 이용하여 최대공약수를 구한 후 반환하였다

[요약] a > b인 경우에, a는 b값을 가지고, b는 a % b값을 가지면서, b가 0이 될 때까지 반복!
리뷰
유클리드 호제법을 이용하여 구현했는데 이론이 이해가 안 돼서 꽤 시간이 걸렸다.
'Programmers' 카테고리의 다른 글
| [프로그래머스][JS] 배열 조각하기 (0) | 2023.07.06 |
|---|---|
| [프로그래머스][JS] 다음에 올 숫자 (0) | 2023.07.05 |
| [프로그래머스][JS] 최빈값 구하기 (0) | 2023.07.04 |
| [프로그래머스][JS] 다항식 더하기 (0) | 2023.07.04 |
| [프로그래머스][JS] OX퀴즈 (0) | 2023.07.03 |