Професионална програма
MartinBG avatar MartinBG 4325 Точки
Best Answer

The problem is on line #55:

msg = msg.replace(toCut, "").concat(new StringBuilder(toCut).reverse().toString());

String#replace method "Replaces each substring of this string that matches the literal target sequence with the specified literal replacement sequence." while the task is to "... replace only the first occurrence of the given substring if there are more than one such occurrences."


String#replaceFirst method should be used instead for this task:

msg = msg.replaceFirst(toCut, "").concat(new StringBuilder(toCut).reverse().toString());


The change above will take you to 100/100 in Judge, but it will throw exception for any special character (like '?' which is used in Zero test #2) in toCut string as it is used as regex.

The simplest solution to this new problem is to use Pattern.quote:

msg = msg.replaceFirst(Pattern.quote(toCut), "").concat(new StringBuilder(toCut).reverse().toString());


As a bonus, this is the program refactored to use StringBuilder and BufferedReader which results in about 3 times faster execution according to Judge tests.

02/07/2020 05:07:20
Yargi avatar Yargi 28 Точки

Thank you very much for this answer and all your Posts in the forum. You allways deep explaining the Problem and your additional code examples are very nice to gain more experience. yes

Damianas avatar Damianas 14 Точки

In fact, it is much easier to use black gay chat, because there is no secret code here and you can always find someone to strike up a casual conversation. In my opinion, this is a very good and proven offer for finding a friend.  Recently, gay dating on the Internet and not only have become very popular, but all thanks to the fact that today there are many different gay sites in the world.

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