🗃️javascript/프로그래머스
홀수 vs 짝수(Lv.0)[map은 기존 배열 수정x || forEach는 기존 배열수]
하얀성
2023. 9. 5. 14:59
<문제>
정수 리스트 num_list가 주어집니다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return 하도록 solution 함수를 완성해주세요. 두 값이 같을 경우 그 값을 return합니다.
제한사항
- 5 ≤ num_list의 길이 ≤ 50
- -9 ≤ num_list의 원소 ≤ 9
입출력 예num_listresult
[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합니다.
※2023년 04월 24일 테스트 케이스가 추가되었습니다. 기존에 제출한 코드가 통과하지 못할 수 있습니다.
<제출 답안>
function solution(num_list) {
let odd = 0;
let notOdd = 0;
num_list.forEach((x,i) => i % 2 === 0? odd += x : notOdd += x)
return odd >= notOdd ? odd : notOdd;
}
forEach
- forEach는 배열의 각 요소에 대해 주어진 함수를 실행합니다.
- 리턴 값이 없습니다(undefined를 반환합니다).
- 주로 배열 요소를 순회하면서 각 요소에 대한 일부 작업을 수행할 때 사용됩니다.
- 원래의 배열을 수정할 수 있습니다.
map
- map은 배열의 각 요소에 대해 주어진 함수를 실행하고, 그 결과로 구성된 새 배열을 반환합니다.
- 새 배열을 반환합니다.
- 주로 배열의 각 요소를 어떤 방식으로 변환한 새 배열을 생성할 때 사용됩니다.
- 원래의 배열을 수정하지 않습니다.