Equal 0, 1 and 2 Substrings
by Erick Petrucelli
TypeScript
function countSubstrWithEqual012(str) {
let count = 0;
const checked = [];
const equalsCharCount = (s1, s2) => {
return s1.split('').sort().join('') === s2.split('').sort().join('');
}
for (let i = 0; i < str.length - 3; i++) {
const substring = str.substr(i, 3);
for (let j = i + 1; j < str.length - 2; j++) {
const guess = str.substr(j, 3);
if (equalsCharCount(substring, guess)) {
count++;
}
}
}
return count
}
function log(input, expected) {
document.write(
`<pre>${input}: <b>${JSON.stringify(countSubstrWithEqual012(input))}</b> <small>// ${expected}</small></pre>`,
)
}
log('0102010', 2)
log('11100022', 0)
log('1212101111', 1)
log('1001112021', 2)