diff --git a/lib/findOUtlier/findOUtlier.test.ts b/lib/findOUtlier/findOUtlier.test.ts new file mode 100644 index 0000000..a3f4a1e --- /dev/null +++ b/lib/findOUtlier/findOUtlier.test.ts @@ -0,0 +1,26 @@ +import { describe, it, expect } from "vitest"; +import { findOUtlier } from "./findOUtlier.ts"; + +describe("findOUtlier", () => { + + it("findOUtlier should be 1 for [0, 1, 2]", () => { + expect(findOUtlier([0, 1, 2])).toEqual(1); + }); + + it("findOUtlier shoud return 2 for [1, 2, 3]", () => { + expect(findOUtlier([1, 2, 3])).toEqual(2) + }); + + it("findOUtlier shoud return 3 for [2, 6, 8, 10, 3]", () => { + expect(findOUtlier([2, 6, 8, 10, 3])).toEqual(3) + }); + + it("findOUtlier shoud return 3 for [0, 0, 3, 0, 0]", () => { + expect(findOUtlier([0, 0, 3, 0, 0])).toEqual(3) + }); + + it("findOUtlier shoud return 0 for [1, 1, 0, 1, 1]", () => { + expect(findOUtlier([1, 1, 0, 1, 1])).toEqual(0) + }); + +}); diff --git a/lib/findOUtlier/findOUtlier.ts b/lib/findOUtlier/findOUtlier.ts new file mode 100644 index 0000000..83bffc1 --- /dev/null +++ b/lib/findOUtlier/findOUtlier.ts @@ -0,0 +1,19 @@ +// 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. +// +// +// [2, 4, 0, 100, 4, 11, 2602, 36] --> 11 (the only odd number) + +// [160, 3, 1719, 19, 11, 13, -21] --> 160 (the only even number) +// +// + + +export function findOUtlier(integers: number[]): number { + + const isEvenNum = integers.filter(num => num % 2 == 0); + const isOddNum = integers.filter(num => num % 2 != 0); + + return isEvenNum.length == 1 ? Number(isEvenNum) : Number(isOddNum); +}; diff --git a/lib/findOUtlier/index.ts b/lib/findOUtlier/index.ts new file mode 100644 index 0000000..31d21a0 --- /dev/null +++ b/lib/findOUtlier/index.ts @@ -0,0 +1,3 @@ +import { findOUtlier } from "./findOUtlier"; + +export default findOUtlier;