정수 리스트 num_list
가 주어집니다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return 하도록 solution 함수를 완성해주세요. 두 값이 같을 경우 그 값을 return합니다.
num_list
의 길이 ≤ 50num_list
의 원소 ≤ 9num_list | result |
---|---|
[4, 2, 6, 1, 7, 6] | 17 |
[-1, 2, 5, 6, 3] | 8 |
입출력 예 #1
입출력 예 #2
※2023년 04월 24일 테스트 케이스가 추가되었습니다. 기존에 제출한 코드가 통과하지 못할 수 있습니다.
function solution(n) {
return n.filter((e,i) => i%2).reduce((a,c) => a+c,0) > n.filter((e,i)=>!(i%2)).reduce( (a,c) => a+c,0) ? n.filter((e,i)=>i%2).reduce((a,c)=>a+c,0) : n.filter((e,i) => !(i%2)).reduce((a,c)=>a+c,0);
}
reduce()
의 초기값을 [a,b]
로 해서 Math.max()
로 깔끔하게
다른풀이
function solution(num_list) {
return Math.max(...num_list.reduce(([o, e], c, i) => i % 2 ? [o + c, e] : [o, e + c], [0, 0]));
}