정수 배열 arr
과 정수 n
이 매개변수로 주어집니다. arr
의 길이가 홀수라면 arr
의 모든 짝수 인덱스 위치에 n
을 더한 배열을, arr
의 길이가 짝수라면 arr
의 모든 홀수 인덱스 위치에 n
을 더한 배열을 return 하는 solution 함수를 작성해 주세요.
arr
의 길이 ≤ 1,000arr
의 원소 ≤ 1,000n
≤ 1,000arr | n | result |
---|---|---|
[49, 12, 100, 276, 33] | 27 | [76, 12, 127, 276, 60] |
[444, 555, 666, 777] | 100 | [444, 655, 666, 877] |
입출력 예 #1
arr
의 길이는 5로 홀수입니다. 따라서 arr
의 짝수 인덱스 0, 2, 4에 주어진 n
값인 27을 더하면 [76, 12, 127, 276, 60]이 됩니다. 따라서 [76, 12, 127, 276, 60]를 return 합니다.입출력 예 #1
arr
의 길이는 4로 짝수입니다. 따라서 arr
의 홀수 인덱스 1, 3에 주어진 n
값인 100을 더하면 [444, 655, 666, 877]이 됩니다. 따라서 [444, 655, 666, 877]를 return 합니다.function solution(arr, n) {
return arr.length%2 ? arr.map((e,i)=> i%2==0 ? e+n : e) : arr.map((e,i)=> i%2 ? e+n : e) ;
}
다른풀이
// ^ caret opperator XOR 연산자
const solution=(a,n)=>a.map((v,i)=>a.length%2^i%2?v+n:v)
const solution = (arr, n) => arr.map((v, i) => v + (arr.length-i) % 2 * n);