😈 홀수 vs 짝수
📗 문제 설명
정수 리스트 num_list
가 주어집니다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return 하도록 solution 함수를 완성해주세요. 두 값이 같을 경우 그 값을 return합니다.
👀 제한사항
- 5 ≤
num_list
의 길이 ≤ 50 - -9 ≤
num_list
의 원소 ≤ 9
📃 입출력 예
num_list | result |
---|---|
[4, 2, 6, 1, 7, 6] | 17 |
[-1, 2, 5, 6, 3] | 8 |
💬입출력 예 설명
입출력 예 설명 #1
- 홀수 번째 원소들의 합은 4 + 6 + 7 = 17, 짝수 번째 원소들의 합은 2 + 1 + 6 = 9 이므로 17을 return합니다.
입출력 예 설명 #2
- 홀수 번째 원소들의 합은 -1 + 5 + 3 = 7, 짝수 번째 원소들의 합은 2 + 6 = 8 이므로 8을 return합니다.
💎나의 풀이
홀수idx VS 짝수idx
reduce 를 통해서 대결을 시켜보자.
const solution = num_list => Math.max(
num_list.reduce((acc, cur, idx) => acc + (idx % 2 === 0 ? cur : 0), 0),
num_list.reduce((acc, cur, idx) => acc + (idx % 2 !== 0 ? cur : 0), 0)
);
홀수 idx를 모두 더하기 위해 idx가 홀수면 짝수를 0으로,
반대로 짝수면 홀수를 0으로 만들어 배열을 순회 시켰다.
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 😈] JavaScript 수박수박수박수박수박수? (1) | 2023.10.30 |
---|---|
[프로그래머스 😈] JavaScript 내적 (1) | 2023.10.30 |
[프로그래머스 😈] JavaScript 2차원으로 만들기 (0) | 2023.10.26 |
[프로그래머스 😈] JavaScript 최빈값 구하기 (0) | 2023.10.25 |
[프로그래머스 😈] JavaScript 안전지대 (0) | 2023.10.25 |