male female flowchart problem
Intro⌗
So this problem came in the Computer-Science Introduction Exam. It gives you an array of values equal to either F(emale)
or M(ale)
. You need to return amount of occurances of F and M.
Originally the Exam wanted the examinee to implement this in flowchart, but i’ll implement in javascript instead.
Value Type⌗
The array could be integer, bool or string. But for simplicity’s sake, we’ll use strings of one character length so either M
or F
.
Code⌗
First, start out with a simple loop.
for(var i in arr) {
var v = arr[i];
}
Then, compare the value to F or M.
for(var i in arr) {
var v = arr[i];
if(v == "F") {
} else if (v == "M") {
}
}
Oh shoot, we forget to add the variables.
var F = 0;
var M = 0;
for(var i in arr) {
var v = arr[i];
if(v == "F") {
} else if (v == "M") {
}
}
Oh yeah, increment the variables.
var F = 0;
var M = 0;
for(var i in arr) {
var v = arr[i];
if(v == "F") {
F++
} else if (v == "M") {
M++;
}
}
Finally, wrap it in a nice beautiful function.
function solve(arr) {
var F = 0;
var M = 0;
for(var i in arr) {
var v = arr[i];
if(v == "F") {
F++
} else if (v == "M") {
M++;
}
}
return {F: F, M: M};
}
// solve(["F", "M", "M", "M", "F", "F", "F", "F", "M", "F"])
// should output: {F: 6, M: 4}
Bonus⌗
Automate this function to calculate unspecified occurances of string in the array. Return the occurances in an Object
.
function solve(arr) {
var obj = {};
for(var i in arr) {
var v = arr[i];
if(obj[v] === undefined) {
obj[v] = 0 ;
}
obj[v]++;
}
return obj
}
// solve(["U", "M", "M", "M", "F", "F", "F", "F", "M", "U"])
// should output: {U: 2, M: 4, F: 4}