정수가 담긴 리스트 num_list
가 주어집니다. num_list
의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.
num_list
의 길이 ≤ 10num_list
의 원소 ≤ 9num_list
에는 적어도 한 개씩의 짝수와 홀수가 있습니다.num_list | result |
---|---|
[3, 4, 5, 2, 1] | 393 |
[5, 7, 8, 3] | 581 |
입출력 예 #1
입출력 예 #2
var answer = parseInt(num_list.filter((num)=>num%2==0).join('')) + parseInt(num_list.filter((num)=>num%2==1).join(''));
parseInt
와 filter
의 조합
다른풀이
const odd = [...(num_list+"")].map(x => Number(x)%2 === 1 ? x : "").join("")
const even = [...(num_list+"")].map(x => Number(x)%2 === 0 ? x : "").join("")
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],
);
let o = e = '';
for (let n of num_list) n%2==0?o+=n:e+=n;
return +o+ +e;