Q : 정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.

<script>
function solution(num_list) {
let num1 = 0;
let num2 = 0;
for (let i = 0; i < num_list.length; i++) {
if (num_list[i] % 2 !== 0) {
num1 = num1 * 10 + num_list[i];
} else {
num2 = num2 * 10 + num_list[i];
}
}
return num1 + num2;
}
</script>

<script>
function solution(num_list) {
const odd = [...(num_list+"")].map(x => Number(x)%2 === 1 ? x : "").join("")
const even = [...(num_list+"")].map(x => Number(x)%2 === 0 ? x : "").join("")
return Number(odd)+Number(even);
}
</script>
스프레드 오퍼레이터와 삼항 연산자까지 들어갔다.
<script>
function solution(num_list) {
const concat = (a, b) => parseInt(`${a}${b}`, 10);
const [odd, even] = num_list.reduce(
([odd, even], num) => (num % 2 ? [concat(odd, num), even] : [odd, concat(even, num)]),
[0, 0],
);
return odd + even;
}
</script>
<script>
function solution(num_list) {
let numA="",numB="";
for(let i = 0 ; i < num_list.length ; i++){
if(num_list[i]%2===0)
numA+= num_list[i];
else
numB+= num_list[i];
}
return +numA + +numB;
}
</script>
다른 문제를 풀면서 배운 것도 있었지만, 막상 내가 적용하지 못한 것에 대해 아쉬운 점이 존재했다.
하지만 이렇게 또 꾸역꾸역 기억하고 체득시키는 것도 나쁘지는 않다고 판단된다.