Loading...
Axiomatik avatar Axiomatik 2422 Точки
Best Answer

Cut seems to be OK, but check out TakeOdd and Substitute commands where probably the remaining 50% are taken from the total score.

TakeOdd =>  Takes only the characters at odd indices and concatenates them together to obtain the new raw password and then prints it.

Substitute => If the raw password contains the given substring, replaces all of its occurrences with the substitute text given and prints the result.

Code (100%)

function solve(input) {
    let password = input.shift();

    let line = input.shift();

    while (line !== 'Done') {
        let [command, ...rest] = line.split(' ');

        switch (command) {
            case 'TakeOdd':
                let newPassword = '';

                for (let i = 0; i < password.length; i++) {
                    if (i % 2 !== 0) {
                        newPassword += password[i];
                    }
                }

                password = newPassword;
                console.log(password);
                break;
            case 'Cut':
                let index = Number(rest[0]);
                let length = Number(rest[1]);

                let string = password.substring(index, index + length);
                password = password.replace(string, '');
                console.log(password);
                break;
            case 'Substitute':
                let stringTarget = rest[0];
                let replace = rest[1];

                if (password.includes(stringTarget)) {
                    while (password.includes(stringTarget)) {
                        password = password.replace(stringTarget, replace);
                    }
                    console.log(password);
                } else {
                    console.log('Nothing to replace!');
                }

                break;
        }

        line = input.shift();
    }

    console.log(`Your password is: ${password}`);
}

 

0
23/05/2021 18:42:29
marto223 avatar marto223 3 Точки

Thank you

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.