Q7) 분수의 덧셈
첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
Sol7)
function solution(numer1, denom1, numer2, denom2) {
var answer = [];
// 1. 분자, 분모 통분 및 덧셈
const numer = numer1*denom2 + numer2*denom1;
const denom = denom1*denom2;
// 2. 분자분모의 최대공약수로 나눠줌(약분)
// 2-1. 분자분모 중 작은 수 찾기
let minNumber;
if (numer < denom) {
minNumber = numer;
} else {
minNumber= denom;
}
// 2-2. 작은 수를 분자분모로 나눠보기
// 2-2-1. 둘다 나누어 떨어지면 그 나눈 수가 최대공약수
// 2-2-2. 안 나누어 떨어지면 작은 수를 1 줄이고 2-2로 돌아가기
while(true) {
if (numer % minNumber === 0) {
if (denom % minNumber === 0) {
return [numer / minNumber, denom / minNumber];
}
}
minNumber = minNumber - 1;
}
}
Q8) 배열 두 배 만들기
정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.
Sol8)
function solution(numbers) {
var answer = [];
for (i = 0; i < numbers.length; i++) {
// answer.push(numbers[i] * 2);
answer[i] = numbers[i] * 2;
}
return answer;
}
// 1. 배열 안에서 원소 꺼내야 함.
// 2. 원소를 꺼내 2배를 한 후 새 배열에 넣어줘야 함.