정수 배열 arr
과 정수 n
이 매개변수로 주어질 때,
arr
의 길이가 홀수라면 arr
의 모든 짝수 인덱스 위치에 n을 더한 배열을, arr
의 길이가 짝수라면 arr
의 모든 홀수 인덱스 위치에 n
을 더한 배열을 return
하는 solution
함수를 작성하는 문제이다.
const solution = (arr, n) => {
for(let i = arr.length % 2 === 0 ? 1 : 0; i < arr.length; i+=2) {
arr[i] = arr[i] + n;
}
return arr;
}
const solution = (arr, n) => arr.map((num, idx) => arr.length % 2 !== idx % 2 ? num + n : num);
arr.map((num, idx) => {...})
arr
의 각 요소(num
과 idx
)에 대해 함수를 적용arr.length % 2 !== idx % 2
arr.length % 2가 1일 때
: 배열의 길이가 홀수일 경우idx % 2가 0
: 짝수 인덱스의 경우 조건 1 !== 0
은 참이 되어 해당 인덱스의 값에 n
을 더함idx % 2가 1
: 홀수 인덱스의 경우 조건 1 !== 1
은 거짓이 되어 원래의 값을 그대로 유지arr.length % 2가 0일 때
: 배열의 길이가 짝수일 경우0 !== 0
은 거짓이 되어 원래의 값을 그대로 유지 0 !== 1
은 참이 되어 해단 인덱스의 갑세 n
을 더함