Basic Algorithm Scripting: Mutations link here
I think(["AB", "AAB"])
should not return true
because it does not include all of the letters from the other string, it is missing A
. Therefore, this code below should be working. Or I’m just stupid.
function mutation(arr) {
let str1 = arr[0].toLowerCase(), str2 = arr[1].toLowerCase();
for (let i = 0; i < str2.length; i++){
if (!str1.includes(str2[i])) {
return false
} else {
str1 = str1.replace(str1[str1.indexOf(str2[i])],"")
}
}
return true;
}
From the challenge text. The first item should contain all of the letters from the second item.
“AAB” does contain all of the letters from “AB”.
(["AAB", "AB"])
=> true
(["AB", "AAB"])
=> true // I am missing the other A here
this is one of the tests:
mutation(["Mary", "Aarmy"])
should return true.
it seems you are getting the correct result based on challenge logic
I know I can omit the else statement
and got the “correct” result accordingly, my question is whether provided solutions are correct or not to that task assignment.
then I don’t understand, please expand
Return true if the string in the first element of the array = ["AB"]
contains all of the letters of the string in the second element of the array. = ["ABB"]
=> true
where I think it should return false
, because:
"AB".length < "ABB".length
.
It’s missing "B"
String in the first element does not contain all letters in the string from the second string.
B
and B
are the same letter. Duplication does not mean that the two are different letters.
AB
has all of the letters in ABB
AB
has all of the letters in ABBB
AB
has all of the letters in ABBBB
AB
has all of the letters in ABBBBB
…
I see this:
AB
has all kinds of the letters in ABB
AB
has all kinds of the letters in ABBB
AB
has all kinds of the letters in ABBBB
AB
has all kinds of the letters in ABBBBB
It has all kinds of letters, it does not contain all of the letters…
You have created a distinction that does not exist. B
is a letter. Writing it twice does not change the fact that B
is only one letter. The string AB
has the same letters as ABBBBBBBBBBBBBBBBB
. Repeating B
does not make B
anything other than B
.
I was looking at this task more like from permutation perspective and perhaps made it more complicated than it was intended.
Nevertheless, I’m going to die with the opinion that the assignment can be misleading
That’s why we include sample test cases as well, to help clarify is there is any linguistic misunderstanding.
1 Like