본문 바로가기

javaScript/알고리즘 문제 풀이

배열을 짝수나 홀수로 리턴하도록 만들자

숫자 배열 (groovy의 목록)이 주어지면 모든 숫자의 합이 홀수인지 짝수인지를 결정합니다.

'홀수'또는 '짝수'로 문자열 형식으로 응답하십시오.

입력 배열이 비어있는 경우 [0] (배열은 0)으로 간주합니다.


1
2
3
oddOrEven([0]) returns "even"
oddOrEven([2, 5, 34, 6]) returns "odd"
oddOrEven([0, -1, -5]) returns "even"
cs



내 답

1
2
3
4
5
6
7
function oddOrEven(array) {
   //enter code here
  
   return ( array.length === 0 || array.reduce((a,b) =>return a+b; })% 2 ==0) ? "even":"odd";
   
}
 
cs



best로 뽑힌 답변 1


1
2
3
4
5
function oddOrEven(arr) {
 
  return arr.reduce((a,b)=>a+b,0) % 2 ? 'odd' : 'even';
 
}
cs



best로 뽑힌 답변2


1
2
3
4
5
6
7
8
9
10
11
12
13
14
function oddOrEven(array) {
 
  var result = 0;
  
  for (var i = 0; i < array.length; i++)
  {result+=array[i];}
  
  if (result%2 == 0)
  
  {return "even";}
  
  else{return "odd";}
 
}
cs



오늘 배운 점


reduce의 초기값(을 넣어주자)


array.reduce(callbackFunction(previousValue, currentValue, currentIndex, array1), initialValue);


previousValue는 매개변수로 a,b를 받을 때 a의 값(과거의 값)

currentValue는 매개변수로 a,b를 받을 때 b의 값(현재의 값)

currentIndex는 index

array1는 현재의 호출된 배열


initialValue는 배열에 값이 없을 때 대신 투입되는 값