Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions katas/find-gap-and-sord/find-gap-and-sort.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
function findAndSort (massiv, leftLimit, rightLimit) {
// YOUR SOLUTION GOES HERE
};
25 changes: 25 additions & 0 deletions katas/find-gap-and-sord/find-gap-and-sort_test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
describe('findAndSort function', function() {
var massive = [100,200,4,5,18,-300,-20,2,5,-7,4,3,-100,80];
var leftLimit = -20;
var rightLimit = 20;
var result = [100,200,-20,-7,2,3,4,4,5,5,18,-300,-100,80];

it('should correctly format provided array and return result', function() {
expect(findAndSort(massive, leftLimit, rightLimit)).toEqual(result);
});

it('should correctly format provided array', function() {
massive = [9,8,7,6,5,4,3,2,1,10];
leftLimit = 8;
rightLimit = 10;
result = [8,9,10,7,6,5,4,3,2,1];

expect(findAndSort(massive, leftLimit, rightLimit)).toEqual(result);
});

it('should return array without changes if in provided massive no values from "gap"', function() {
massive = [100,-200,300, 23];

expect(findAndSort(massive, leftLimit, rightLimit)).toEqual(massive);
});
});
33 changes: 33 additions & 0 deletions katas/find-gap-and-sord/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Task
Create a function that find in provided array 'gap-massive', sort it in ascending order and return an array with sorted 'gap-massive'.

## Important note
'gap-massive' - part of provided massive with elements that located in the gap between leftLimit and rightLimit inclusively.
The 'gap-massive' must be inserted in position of first gap-element in massive.

## Example

```js
let massive = [100,200,4,5,18,-300,-20,2,5,-7,4,3,-100,80];
let leftLimit = -20;
let rightLimit = 20;

// 'gap-massive' - [4,5,18,-20,2,5,-7,4,3];
// 'gap' - from - 20 to 20;
// 'first gap-element' - 4;

findAndSort(massive, leftLimit, rightLimit); // [100,200,-20,-7,2,3,4,4,5,5,18,-300,-100,80]
```
## Arguments
* massive: initial array.
* leftLimit: a number that set the min limit gap value.
* rightLimit: a number that set the max limit gap value.

See tests in [find-gap-and-sort_test.js](https://github.com/AlexVvx/code-wars/blob/master/katas/find-gap-and-sort/find-gap-and-sort_test.js)

## Boilerplate
```js
function findAndSort (massiv, leftLimit, rightLimit) {
// YOUR SOLUTION GOES HERE
};
```