Skip to content

Latest commit

 

History

History
41 lines (29 loc) · 1.09 KB

find-the-parity-outlier.md

File metadata and controls

41 lines (29 loc) · 1.09 KB

Find The Parity Outlier 6 Kyu

LINK TO THE KATA - ALGORITHMS

Description

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)

Solution

const isEven = number => number % 2 === 0

const findOutlier = integers => {
  let evenCounter = 0

  for (let i = 0; i < 3; i++) {
    const currentNumber = integers[i]

    if (isEven(currentNumber)) evenCounter++
  }

  return evenCounter >= 2
    ? integers.filter(number => !isEven(number))[0]
    : integers.filter(number => isEven(number))[0]
}