알고리즘 문제를 풀면서 새롭게 알게 된 개념이 있다.
Number.MAX_SAFE_INTEGER 상수는 JavaScript에서 안전한 최대 정수값을 나타낸다. (253 - 1)
보통 알고리즘 문제를 풀 때 최소값을 매개변수로 들어오는 값의 첫번째 값으로 초기화해놓고 비교를 했었는데 최솟값에 들어올 수 있는 가장 큰 값을 넣어놓고, 최솟값 비교를 할 수 있도록 해주는 거 같다.
Number.MAX_SAFE_INTEGER를 사용하는 이유는 정수를 정확하고 올바르게 비교할 수 있는 안전함을 가지고 있다고 한다.
오늘 풀어본 알고리즘 문제 중 한 문제를 살펴봐야겠다.
function isOdd(arr) {
let result = [];
let min = Number.MAX_SAFE_INTEGER; //원래는 arr[0]으로 초기화를 해놓고 많이 비교했었다.
let sum = 0;
for (let el of arr) {
if (el % 2 !== 0) {
sum += el;
result.push(el);
if (el < min) {
min = el;
}
}
}
console.log(result); //홀수들만 들어있는 배열
console.log(sum); //홀수들의 합
console.log(min); //홀수들 중에서 최솟값
return result;
}
let arr = [12, 77, 38, 41, 53, 92, 85];