Skip to content

Instantly share code, notes, and snippets.

@unilecs
Created October 18, 2017 15:40
Show Gist options
  • Save unilecs/186d8559a07bc8adb75a1b244498e048 to your computer and use it in GitHub Desktop.
Save unilecs/186d8559a07bc8adb75a1b244498e048 to your computer and use it in GitHub Desktop.
Строки "близнецы"
function getEvenOddSymbolsFromString(str) {
let evenArr = [];
let oddArr = [];
for (let i=0; i<str.length; i++) {
// если текущий символ в слове находится на четной позиции
if (i % 2 === 0) {
evenArr.push(str[i]);
} else {
oddArr.push(str[i]);
}
}
// операция сортировки
evenArr = evenArr.sort();
oddArr = oddArr.sort();
// формируем строку: все отсортированные "четные" символы + все отсортированные "нечетные" символы
const result = evenArr.join("") + "-" + oddArr.join("");
return result;
}
function canMadeEquivalentTwoStrings(str1, str2) {
const evenOddSymbols_str1 = getEvenOddSymbolsFromString(str1);
const evenOddSymbols_str2 = getEvenOddSymbolsFromString(str2);
return evenOddSymbols_str1 === evenOddSymbols_str2;
}
console.info(canMadeEquivalentTwoStrings("abcd", "cdab"));
console.info(canMadeEquivalentTwoStrings("abcd", "bcda"));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment