Polkoe 2 Точки

## 1. The Imitation Game

Здравейте!

Някой може ли да помогне?

Условие:

## Problem 1 - The Imitation Game

During World War 2, you are a mathematician who has joined the cryptography team to decipher the enemy's enigma code. Your job is to create a program to crack the codes.

On the first line of the input, you will receive the encrypted message. After that, until the "Decode" command is given, you will be receiving strings with instructions for different operations that need to be performed upon the concealed message to interpret it and reveal its true content. There are several types of instructions, split by '|'

• "Move {number of letters}":
• Moves the first n letters to the back of the string
• "Insert {index} {value}":
• Inserts the given value before the given index in the string
• "ChangeAll {substring} {replacement}":
• Changes all occurrences of the given substring with the replacement text

### Input / Constraints

• On the first line, you will receive a string with a message.
• On the following lines, you will be receiving commands, split by '|' .

### Output

• After the "Decode" command is received, print this message:
"The decrypted message is: {message}"

### Examples

 Input Output zzHe ChangeAll|z|l Insert|2|o Move|3 Decode The decrypted message is: Hello Comments ChangeAll|z|l zzHe → llHe (We replace all occurrences of 'z' with 'l') Insert|2|o llHe → lloHe (We add an 'o' before the character on index 2) Move|3 lloHe → Hello (We take the first three characters and move them to the end of the string) Finally, after receiving the "Decode" command, we print the resulting message. Input Output owyouh Move|2 Move|3 Insert|3|are Insert|9|? Decode The decrypted message is: howareyou?

### JS Examples

 Input Output [   'zzHe',   'ChangeAll|z|l',   'Insert|2|o',   'Move|3',   'Decode', ]po The decrypted message is: Hello Comments ChangeAll|z|l zzHe → llHe (We replace all occurrences of 'z' with 'l') Insert|2|o llHe → lloHe (We add an 'o' before the character on index 2) Move|3 lloHe → Hello (We take the first three characters and move them to the end of the string) Finally, after receiving the "Decode" command, we print the resulting message. Input Output [   'owyouh',   'Move|2',   'Move|3',   'Insert|3|are',   'Insert|9|?'   'Decode', ] The decrypted message is: howareyou?

Решение:

https://pastebin.com/3TcFTHy9

Тагове:
0
MartinBG 4803 Точки

replaced е излишна променлива, а result е с ограничен скоуп.

Премахнете ги и двете и използвайте message навсякъде вместо тях.

Оправеното решение:

``````function theImitationGame(input) {

let message = input.shift();
input.pop();

for (let line of input) {
let command = line.split('|');
let currentCommand = command[0];

if (currentCommand === 'ChangeAll') {
message = message.replaceAll(command[1], command[2]);

} else if (currentCommand === 'Insert') {

let value = command[2];
let index = command[1];

let firstPart = message.substring(0, index);
let secondPart = message.substring(index);
message = firstPart.concat(value).concat(secondPart);

} else if (currentCommand === 'Move') {
let firstThree = message.slice(0, command[1]);
let last = message.slice(command[1]);
message = last + firstThree;
}
}
console.log(`The decrypted message is: \${message}`);

}``````

0
Polkoe 2 Точки

Много благодаря!

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