From 215032a337efe8bd070ebfb01612f8ec6437f234 Mon Sep 17 00:00:00 2001 From: "Siarhei.Kavalchuk" Date: Mon, 5 Dec 2016 13:22:20 +0300 Subject: [PATCH] balance new task --- .../balance-the-arrays/balance-the-arrays.js | 3 ++ .../balance-the-arrays_test.js | 21 +++++++++++++ katas/balance-the-arrays/readme.md | 30 +++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 katas/balance-the-arrays/balance-the-arrays.js create mode 100644 katas/balance-the-arrays/balance-the-arrays_test.js create mode 100644 katas/balance-the-arrays/readme.md diff --git a/katas/balance-the-arrays/balance-the-arrays.js b/katas/balance-the-arrays/balance-the-arrays.js new file mode 100644 index 0000000..be0b73b --- /dev/null +++ b/katas/balance-the-arrays/balance-the-arrays.js @@ -0,0 +1,3 @@ +function balance(arr1, arr2) { + //CODE HERE! +} diff --git a/katas/balance-the-arrays/balance-the-arrays_test.js b/katas/balance-the-arrays/balance-the-arrays_test.js new file mode 100644 index 0000000..ed2aab3 --- /dev/null +++ b/katas/balance-the-arrays/balance-the-arrays_test.js @@ -0,0 +1,21 @@ +describe('balance function', function() { + + it('should return false if provided arrays aren\'t balanced', function() { + let array1 = ["a","a"], + array2 = ["c"]; + + expect(balance(array1, array2)).toBeFalsy(); + + array1 = ["a","b","c","d","e","f","g","g"]; + array2 = ["h","h","i","j","k","l","m","m"]; + + expect(balance(array1, array2)).toBeFalsy(); + }); + + it('should return true if provided arrays aren\'t balanced', function() { + let array1 = ["a","a","a","a","a","b","b","b"], + array2 = ["c","c","c","c","c","d","d","d"]; + + expect(balance(array1, array2)).toBeTruthy(); + }); +}); diff --git a/katas/balance-the-arrays/readme.md b/katas/balance-the-arrays/readme.md new file mode 100644 index 0000000..22fc5b0 --- /dev/null +++ b/katas/balance-the-arrays/readme.md @@ -0,0 +1,30 @@ +####Description: + +Check that the two provided arrays both contain the same number of different unique items, regardless of order. For example in the following: + [a,a,a,a,b,b] and [c,c,c,d,c,d] +Both arrays have four of one item and two of another, so balance should return true. + +####Example: + +```js +let array1 = ["a","a","a","a","a","b","b","b"], + array2 = ["c","c","c","c","c","d","d","d"]; + + balance(array1, array2) //true + + array1 = ["a","a"], + array2 = ["c"]; + + balance(array1, array2) //false + + array1 = ["a","b","c","d","e","f","g","g"]; + array2 = ["h","h","i","j","k","l","m","m"]; + + balance(array1, array2) //false +``` + +See [tests in balance-the-arrays_test.js](https://github.com/AlexVvx/code-wars/blob/master/katas/balance-the-arrays/balance-the-arrays_test.js) + +#####[Original Kata](https://www.codewars.com/kata/balance-the-arrays) + +Good luck