Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Olegati avatar Olegati 7 Точки

The Imitation Game - 50\100

Здравейте, 

На първа задача от 01. Programming Fundamentals Final Exam Retake, Judge ми дава Runtime Error на 2 и 5 тест, а 6тия не минава. Направил съм проверка за валидни индекси и за празен стринг от конзолата, но уловката явно е другаде. 

Ето моето решение: https://pastebin.com/2m6c5F8n

Линк към Judge: https://judge.softuni.bg/Contests/Practice/Index/2525#0

Условие:

You are a mathematician during world war 2, 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 message.
  • On the next 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?

Тагове:
0
Fundamentals Module
svephoto avatar svephoto 1191 Точки

Здравей, Olegati,

 

Ако искаш погледни този вариант на твоето решение с коментари къде какво се случва: https://pastebin.com/SREG95Qy. Надявам се да ти е от полза.

0
Olegati avatar Olegati 7 Точки

Здрасти, 

Благодаря за коментарите, доста по-изчистен код се получи. Оказа се, че и моя код минава с 100/100 ако просто променя replaceAll() метода на replace(). Не разбрах точно защо, но важното е, че работи :D

0
svephoto avatar svephoto 1191 Точки

Ами супер, идеално, щом си открил проблема в твоя код и той е проработил коректно. yes laugh

Иначе относно разликата между двата метода:

 

Both replace() and replaceAll() replace all occurrences in the String.

replace()

Use replace() if you just want to replace some char with another char or some String with another String (actually CharSequence).

replaceAll()

Use replaceAll() if you want to use a regular expression pattern.

 

Източник: https://stackoverflow.com/questions/10827872/difference-between-string-replace-and-replaceall

1
11/08/2021 10:43:55
evgeni.lalov avatar evgeni.lalov 1 Точки

Аз се мъча с тази задача от час и при мен проблемът беше отчно същия. .replaceAll() на .replace() и даде 100/100. А аз се мъчих какво ли не.... :D mind-blowing е тая работа с тоя replaceAll. 

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