Skip to content
Open
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
9 changes: 5 additions & 4 deletions problems/problem1.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@ var assert = require('assert');

// we need 5 test cases. I provided 1 input
let inputs = [
""
"aa", '_as', '1111', 'blue', ""
]

let outputs = [

'a', '_', '1', 'b', undefined
]

// Make this function return the first letter of the string that is passed to it. If the string does not have a first letter, return undefined
// Make this function return the first character of the string that is passed to it. If the string does not have a first letter, return undefined
function f(str) {

if (str.length == 0) return undefined;
return str[0];
}

function runTest(i) {
Expand Down
15 changes: 12 additions & 3 deletions problems/problem10.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ var assert = require('assert');

// we need 5 test cases.
let inputs = [

"we are one", "the three musquaqueers", 'true gods of what?', 'power user', 'POP POP LOL'
]

let outputs = [

'We Are One', 'The Three Musquaqueers', 'True Gods Of What?', 'Power User', 'Pop Pop Lol'
]

/*
Expand All @@ -17,7 +17,16 @@ f("ALL YOUR BASE ARE BELONG"); // All Your Base Are Belong

*/
function f(str) {

var lower = str.toLowerCase();
var splitStr = lower.split(" ");
var toUpper = [];
for (var i= 0; i < splitStr.length; i++) {
var firstLetter = splitStr[i][0];
firstLetter = firstLetter.toUpperCase(); // ALWAYS ASSIGN THE NEW VALUE TO THE VARIABLE!!!
splitStr[i] = firstLetter + splitStr[i].substring(1);
toUpper.push(splitStr[i]);
}
return toUpper.join(" ");
}

function runTest(i) {
Expand Down
19 changes: 16 additions & 3 deletions problems/problem11.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,31 @@ var assert = require('assert');

// we need 5 test cases.
let inputs = [

[2, 3, 4],
[10, 5, 15, 20],
['a', 10,'c', 3, 'b'],
[undefined, 11, 12 ],
[]

]

let outputs = [

9, 50, 13, 23, 0
]

/*
Make this function return the sum of all the numbers in the input array. If any element in the array is not a number, skip it. If the array is empty, return zero.
*/
function f(arr) {

var sum = 0;
for(var i=0; i < arr.length; i++) {
if (typeof arr[i] === 'number') {
sum += arr[i];
} else if (isNaN(i)){
i+=1;
}
}
return sum;
}

function runTest(i) {
Expand Down
86 changes: 82 additions & 4 deletions problems/problem12.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,15 @@ var assert = require('assert');

// we need 5 test cases.
let inputs = [

[[0,1,2,3], [1,3,4,5]],
[[],[]],
[[1],[1]],
[['blue']],
[[4,4,5,"a"], [1,4,5]]
]

let outputs = [
[0,2,4,5], [], [], undefined, ["a", 1]

]

Expand All @@ -19,9 +24,44 @@ uniqueElements([0,1,2,3], [1,3,4,5]); // [0,4,5]
uniqueElements([1,2,3], [1,2,3]); // []
uniqueElements(2,3); // undefined, not arrays
*/
function f(arr1, arr2) {

}

// function f(arr) {
// const arr1 = arr[0];
// const arr2 = arr[1];
// let arr3 = [];
// for(let i = 0;i < arr1.length; i++) {
// let
// }
// }
[[0,1,2,3], [1,3,4,5]]

function f(arr) {
var arr1 = arr[0];
var arr2 = arr[1];
var ret = [];
for (var i = 0; i<arr1.length; i++) {
var inArray2 = false;
var array1Element = arr1[i];
for (var j=0;j < arr2.length; j++) {
var array2Element = arr2[j];
if (array1Element == array2Element) inArray2 = true;
}
if(!inArray2) {
ret.push(arr1[i]);
}
}
return ret;

// function f(arr) {
// const arr1 = arr[0];
// const arr2 = arr[1];
// let newArr = [];
// for (let i = 0; i < arr1.length; i++) {
// let check = false;

// }
//}


function runTest(i) {
if(i > inputs.length) throw new Error("You do not have enough test cases");
Expand All @@ -36,3 +76,41 @@ runTest(2);
runTest(3);
runTest(4);



// function memeber (x,lst) {
// for (var i =0; i<lst.length;i++) {
// if(x == lst[i]) return true;
// }
// return false
// }

// function f(arr) {
// var arr1 = arr[0];
// var arr2 = arr[1];
// var ret = [];
// for (var i = 0; i<arr1.length; i++) {
// if(!member((arr1[i], arr2) && !member(arr1[i], ret)) {
// ret.push(arr1[i]);
// }
// }
// return ret;
// }

// function f(arr) {
// var arr1 = arr[0];
// var arr2 = arr[1];
// var ret = [];
// for (var i = 0; i<arr1.length; i++) {
// var inArray2 = false;
// var array1Element = arr1[i];
// for (var j=0;j < arr2.length; j++) {
// var array2Element = arr2[j];
// if (array1Element == array2Element) inArray2 = true;
// }
// if(!inArray2) {
// ret.push(arr1[i]);
// }
// }
// return ret;
}
2 changes: 1 addition & 1 deletion problems/problem13.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var assert = require('assert');

// we need 5 test cases.
let inputs = [

''
]

let outputs = [
Expand Down
7 changes: 4 additions & 3 deletions problems/problem2.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@ var assert = require('assert');

// we need 5 test cases.
let inputs = [

"aa", '_as', '1111', 'blue', ""
]

let outputs = [

'a', 's', '1', 'e', undefined
]

// Make this function return the last letter of the string that is passed to it. If the string does not have a last letter, return undefined
function f(str) {

if (str.length == 0) return undefined;
return str[str.length-1];
}

function runTest(i) {
Expand Down
24 changes: 20 additions & 4 deletions problems/problem3.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,35 @@ var assert = require('assert');
// we need 7 test cases. I've provided 2.
let inputs = [
[2, 4],
[-3, 3]
[-3, 3],
[4, 5],
[2, 7],
[3, -2],
[8, 'p'],
[5, undefined]
]

let outputs = [
6,
0
0,
9,
9,
1,
undefined,
undefined
]


/*
Make this function return the sum of the two numbers that are passed to it. If one of the numbers is not passed, or if anything other than numbers are passed, return undefined.
*/
function f(x, y) {

function f(arr) {
var x = arr[0]+arr[1];
console.log(x);
if (isNaN(x) ) {
return undefined;
}
return x;
}

function runTest(i) {
Expand Down
20 changes: 16 additions & 4 deletions problems/problem4.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,24 @@ var assert = require('assert');
// we need 8 test cases. I've provided the first 2
let inputs = [
["hello", 4],
["", 2]
["", 2],
['blue', 1],
['together', 6],
['azul', 2],
['quesrt', 3],
['strtong', 4],
['red', 2]
]

let outputs = [
"o",
undefined
undefined,
'l',
'e',
'u',
's',
'o',
'd'
]

/*
Expand All @@ -20,8 +32,8 @@ f("", 4); // undefined
f("abc", 0); // a

*/
function f(str, index) {
function f(x, y) {
return x[y];
}

function runTest(i) {
Expand Down
21 changes: 17 additions & 4 deletions problems/problem5.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,33 @@ var assert = require('assert');

// we need 5 test cases.
let inputs = [
[2, 7]
[2, 7],
[3, 1],
[6, 2],
[4, 'p'],
[8, 4]
]

let outputs = [
14
14,
3,
12,
undefined,
32
]

/*
Make this function return the product of the two numbers that are passed to it. If one of the numbers is not passed, or if anything other than numbers are passed, return undefined.
*/
function f(x, y) {

function f(arr) {
var x = arr[0] * arr[1];
if (isNaN(x) ) {
return undefined;
}
return x;
}


function runTest(i) {
if(i > inputs.length) throw new Error("You do not have enough test cases");
var expected = outputs[i];
Expand Down
26 changes: 22 additions & 4 deletions problems/problem6.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,20 @@ var assert = require('assert');
// we need 6 test cases.
let inputs = [
["add", 10, 20],
["chair", 20, 10]
["chair", 20, 10],
["mult", 5, 10],
['sub', 10, 5], //write a different number
['blue', 6, 8],
[undefined, 9, 0]
]

let outputs = [
30
30,
undefined,
50,
5,
undefined,
undefined
]

/*
Expand All @@ -21,8 +30,17 @@ f("mult", 2, 3); // 6
f("spoof", 10, 10); // undefined

*/
function f(operation, firstArgument, secondArgument) {

function f(arr) {
var x;
if (arr[0] === 'add') {
return x = arr[1]+arr[2];
} else if (arr[0] === 'mult') {
return x = arr[1]*arr[2];
} else if (arr[0] === 'sub') {
return x = arr[1]-arr[2];
} else {
return undefined
}
}

function runTest(i) {
Expand Down
Loading