-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTakeATenMinutesWalk.js
61 lines (59 loc) · 1.65 KB
/
TakeATenMinutesWalk.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/**
* Description:
*
* You live in the city of Cartesia where all roads are
* laid out in a perfect grid. You arrived ten minutes too
* early to an appointment, so you decided to
* take the opportunity to go for a short walk.
* The city provides its citizens with a Walk
* Generating App on their phones -- everytime you press
* the button it sends you an array of one-letter
* strings representing directions to walk
* (eg. ['n', 's', 'w', 'e']).
* You always walk only a single block for each letter
* (direction) and you know it takes you one
* minute to traverse one city block, so create a function
* that will return true if the walk the app gives you will
* take you exactly ten minutes (you don't want to be early or late!)
* and will, of course, return you to your starting point.
* Return false otherwise.
*
* Note: you will always receive a valid
* array containing a random assortment
* of direction letters ('n', 's', 'e', or 'w' only). It
* will never give you an empty array
* (that's not a walk, that's standing still!).
*
* Kata URL: https://www.codewars.com/kata/54da539698b8a2ad76000228
*
*
* @param {*} walk
* @returns
*/
function isValidWalk(walk) {
let positionX = 0;
let positionY = 0;
if (walk.length === 10) {
walk.forEach((element) => {
if (element === "n") {
positionY++;
}
if (element === "e") {
positionX++;
}
if (element === "s") {
positionY--;
}
if (element === "w") {
positionX--;
}
});
if (positionX === 0 && positionY === 0) {
return true;
} else {
return false;
}
} else {
return false;
}
}