• F
  • E
  • R
  • u
  • d
  • e
  • n

[codewars] Find The Parity Outlier

2018-06-03 (16일 전)algorithm
[codewars] Find The Parity Outlier

You are given an array (which will have a length of at least 3, but could be very large) containing integers. The array is either entirely comprised of odd integers or entirely comprised of even integers except for a single integer N. Write a method that takes the array as an argument and returns this "outlier" N.

Examples

[2, 4, 0, 100, 4, 11, 2602, 36]
Should return: 11 (the only odd number)

[160, 3, 1719, 19, 11, 13, -21]
Should return: 160 (the only even number)

My Answer

function findOutlier(integers){
  let odd = integers.filter(i => i % 2 !== 0);
  let even = integers.filter(i => i % 2 === 0);
  
  return odd.length > even.length ? even[0] : odd[0];
}

Best Practice

function findOutlier(int){
  var even = int.filter(a=>a%2==0);
  var odd = int.filter(a=>a%2!==0);
  return even.length==1? even[0] : odd[0];
}