Gelisore
@Gelisore
Глупый, но не сильно.

Как сложить 2 соседних числа в 1 строке, с условием того, что они одинаковые?

Как сложить 2 соседних числа в 1 строке, с условием того, что они одинаковые. Например строка 111111 должна превратиться в строку 222 а затем в 42.
  • Вопрос задан
  • 102 просмотра
Решения вопроса 2
@Aves
function collapse(src) {
  var res = String.prototype.replace.call(src, /(\d)\1/g, (s, p) => p * 2);
  return res == src ? res : collapse(res)
}
Ответ написан
Комментировать
Minifets
@Minifets
Hello world!!!
function collapse(digits) {
    if (typeof digits !== 'string') {
        digits = '' + digits;
    }

    var result = '';

    for (var i = 0; i < digits.length; i++) {
        if (digits[i] === digits[i+1]) {
            result += (parseInt(digits[i]) + parseInt(digits[i+1]));
            i++;
        } else {
            result += digits[i];
        }
    }

    if (digits.length === result.length) {
        return result;
    } else {
        return collapse(result);
    }
}

var test = 111111;

console.log(collapse(test));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы