
✅ Math.floor()
function solution(num1, num2) {
return Math.floor(num1 / num2 * 1000);
}
Math.floor() 함수는 주어진 숫자와 같거나 작은 정수 중 가장 큰 수 반환(숫자 내림)
✅ Math.trunc()
function solution(num1, num2) {
return Math.trunc(num1 / num2 * 1000);
}
Math.trunc() 함수는 소수부분을 제거하고 정수만 반환 (양수, 음수 상관없이 무조건 소수부분 제거함)
function solution(num1, num2) {
return num1 === num2 ? 1 : -1;
}
function solution(numer1, denom1, numer2, denom2) {
// 분자
const numer = denom1 * numer2 + denom2 * numer1;
// 분모
const denom = denom1 * denom2;
// 두 수의 최대공약수 구하는 함수
const getGCD = (num1, num2) => {
let gcd = 1;
for(let i = 2; i <= Math.min(num1, num2); i++) {
if(num1 % i === 0 && num2 % i === 0) {
gcd = i;
}
}
return gcd;
};
// 분자와 분모의 최대공약수 구하기
const gcd = getGCD(numer, denom);
// 분자와 분모를 각각 최대공약수로 나누기
return [numer / gcd, denom / gcd];
}
✅ 유클리드 호제법
function solution(numer1, denom1, numer2, denom2) {
const numer = denom1 * numer2 + denom2 * numer1;
const denom = denom1 * denom2;
const getGCD = (num1, num2) => num1 % num2 === 0 ? num2 : getGCD(num2, num1 % num2);
const gcd = getGCD(numer, denom);
return [numer / gcd, denom / gcd];
}
유클리드 호제법으로 최대공약수를 구한다.
✅ for
function solution(numbers) {
const arr = [];
for(let i = 0; i < numbers.length; i++) {
arr.push(numbers[i] * 2);
}
return arr;
}
✅ for...of
function solution(numbers) {
const arr = [];
for(const num of numbers) {
arr.push(num * 2);
}
return arr;
}
✅ map
function solution(numbers) {
return numbers.map(num => num * 2);
}
✅ reduce
function solution(numbers) {
return numbers.reduce((acc, curr) => [...acc, curr * 2], []);
}