-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
59 lines (55 loc) · 1.22 KB
/
script.js
File metadata and controls
59 lines (55 loc) · 1.22 KB
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
let QuestionMarks = str => {
let numberIndexes = [];
let numberValues = [];
for(c in str)
{
if(isNumber(str[c]))
{
numberIndexes.push(parseInt(c));
numberValues.push(parseInt(str[c]));
}
}
if(numberIndexes.length < 1)
{
return false;
}
var equalsTen = false;
for(var i = 0; i < numberIndexes.length -1; i++)
{
if(findValue(numberValues[i], numberValues[i+1])){
equalsTen = true;
var hasThree = str.slice((numberIndexes[i] + 1), numberIndexes[i+1]);
if(!threeQuestionsMarks(hasThree))
{
return false;
}
}
}
return equalsTen;
};
let isNumber = c => {
return(c*0 == 0);
};
let findValue = (n1, n2) =>{
return((n1+n2) === 10)
};
let threeQuestionsMarks = substr =>{
var counter = 0;
for(c in substr)
{
if(substr[c] === '?')
{
counter++;
}
}
return(counter === 3);
};
console.time('one');
console.log(QuestionMarks('bcc?7??ccc?3tt1??????5'));
console.timeEnd('one');
console.time('two');
console.log(QuestionMarks('bb6?9'));
console.timeEnd('two');
console.time('three');
console.log(QuestionMarks('arrb6???4xxbl5???eee5'));
console.timeEnd('three');