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
26 changes: 13 additions & 13 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${file}",
"skipFiles": [
"node_modules", "assertion.js"
]
}
]
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${file}",
"skipFiles": [
"node_modules", "assertion.js"
]
}
]
}
63 changes: 36 additions & 27 deletions problems/problem1.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,36 @@
var assert = require('assert');

// we need 5 test cases. I provided 1 input
let inputs = [
""
]

let outputs = [

]

// 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
function f(str) {

}

function runTest(i) {
var expected = outputs[i];
var actual = f(inputs[i]);
assert.deepEqual(actual, expected);
}

runTest(0);
runTest(1);
runTest(2);
runTest(3);
runTest(4);
var assert = require('assert');

// we need 5 test cases. I provided 1 input
let inputs = [
"abc",
"123",
"!ok",
"1a^",
""
]

let outputs = [
"a",
"1",
"!",
"1",
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
function f(str) {
var char1 = str[0];
return char1;
}

function runTest(i) {
var expected = outputs[i];
var actual = f(inputs[i]);
assert.deepEqual(actual, expected);
}

runTest(0);
runTest(1);
runTest(2);
runTest(3);
runTest(4);
83 changes: 48 additions & 35 deletions problems/problem10.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,48 @@
var assert = require('assert');

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

]

let outputs = [

]

/*
Make this function return the input string, capitalized. You must use a for loop. For example:

f("hello world"); // Hello World
f("ALL YOUR BASE ARE BELONG"); // All Your Base Are Belong

*/
function f(str) {

}

function runTest(i) {
if(i > inputs.length) throw new Error("You do not have enough test cases");
var expected = outputs[i];
var actual = f(inputs[i]);
assert.deepEqual(actual, expected);
}

runTest(0);
runTest(1);
runTest(2);
runTest(3);
runTest(4);

var assert = require('assert');

// we need 5 test cases.
let inputs = [
'hello there',
'alOha',
'',
'bOnjOur aMIGO',
'h3ll0'
]

let outputs = [
'Hello There',
'Aloha',
'',
'Bonjour Amigo',
'H3ll0'
]

/*
Make this function return the input string, capitalized. You must use a for loop. For example:

f("hello world"); // Hello World
f("ALL YOUR BASE ARE BELONG"); // All Your Base Are Belong

*/
function f(str) {
str = str.toLowerCase().split(' ');
for (var i=0; i<str.length; i++) {
str[i] = str[i].charAt(0).toUpperCase() + str[i].substring(1);
}
str = str.join(' ');
return str;
}

function runTest(i) {
if(i > inputs.length) throw new Error("You do not have enough test cases");
var expected = outputs[i];
var actual = f(inputs[i]);
assert.deepEqual(actual, expected);
}

runTest(0);
runTest(1);
runTest(2);
runTest(3);
runTest(4);

75 changes: 44 additions & 31 deletions problems/problem11.js
Original file line number Diff line number Diff line change
@@ -1,31 +1,44 @@
var assert = require('assert');

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

]

let outputs = [

]

/*
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) {

}

function runTest(i) {
if(i > inputs.length) throw new Error("You do not have enough test cases");
var expected = outputs[i];
var actual = f(inputs[i]);
assert.deepEqual(actual, expected);
}

runTest(0);
runTest(1);
runTest(2);
runTest(3);
runTest(4);

var assert = require('assert');

// we need 5 test cases.
let inputs = [
[0, 5, 15],
[2, -3],
[1, 'plus', 1],
['ok', 6, 15, 'ok'],
[] //what should we do if ALL elements are not numbers? Treat as empty?
]

let outputs = [
20,
-1,
2,
21,
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;
if (arr.length === 0) {return 0;}
for (var i=0; i<arr.length; i++) {
if (typeof arr[i] == 'number') {sum += arr[i];}
}
return sum;
}

function runTest(i) {
if(i > inputs.length) throw new Error("You do not have enough test cases");
var expected = outputs[i];
var actual = f(inputs[i]);
assert.deepEqual(actual, expected);
}

runTest(0);
runTest(1);
runTest(2);
runTest(3);
runTest(4);

93 changes: 55 additions & 38 deletions problems/problem12.js
Original file line number Diff line number Diff line change
@@ -1,38 +1,55 @@
var assert = require('assert');

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

]

let outputs = [

]

/*
Make this function return the elements that are unique to array1 and array2.
If there are no unique elements return an empty array.
If the inputs are anything other than arrays, return undefined.
For example:

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 runTest(i) {
if(i > inputs.length) throw new Error("You do not have enough test cases");
var expected = outputs[i];
var actual = f(inputs[i]);
assert.deepEqual(actual, expected);
}

runTest(0);
runTest(1);
runTest(2);
runTest(3);
runTest(4);

var assert = require('assert');

// we need 5 test cases.
let inputs = [
[[1, 2, 3, 4, 5],[1, 2, 5]]
]

let outputs = [
[3, 4]
]

/*
Make this function return the elements that are unique to array1 and array2.
If there are no unique elements return an empty array.
If the inputs are anything other than arrays, return undefined.
For example:

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) {
if (arr1 instanceof Array && arr2 instanceof Array) {
var newArr = [];
var deleteflag = 0;
for (var i=0; i<arr1.length; i++) {
deleteflag = 0;
for (var j=0; j<arr2.length; j++) {
if (arr2[j] == arr1[i]) {
arr2.splice(j, 1);
deleteflag++;
j--;
}
}
if (deleteflag !== 0) {arr1.splice(i, 1); i--;}
}
newArr = arr1.concat(arr2);
return newArr;
}
return undefined;
}

function runTest(i) {
if(i > inputs.length) throw new Error("You do not have enough test cases");
var expected = outputs[i];
var actual = f(...inputs[i]);
assert.deepEqual(actual, expected);
}

runTest(0);
// runTest(1);
// runTest(2);
// runTest(3);
// runTest(4);

Loading