Loading...
Olegati avatar Olegati 7 Точки

Programming Fundamentals Final Exam 02 - World Tour 66/100

Здравейте, 

Judge ми дава 66/100 точки на тази задача и не мога да разбера защо, а доста я мъчих. Предполагам, че има нещо общо със StringBuilder, което ми обягва.

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

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

Условието на задачата: 

Problem 1. World Tour

You are a world traveller and your next goal is to make a world tour. In order to do that, you have to plan out everything first. To start with, you would like to plan out all of your stops where you will have a break.

On the first line you will be given a string containing all of your stops. Until you receive the command "Travel", you will be given some commands to manipulate that initial string. The commands can be:

  • Add Stop:{index}:{string}insert the given string at that index only if the index is valid
  • Remove Stop:{start_index}:{end_index}remove the elements of the string from the starting index to the end index (inclusive) if both indices are valid
  • Switch:{old_string}:{new_string} – if the old string is in the initial string, replace it with the new one. (all occurrences)

Note: After each command print the current state of the string

After the "Travel" command, print the following: "Ready for world tour! Planned stops: {string}"

Input / Constraints

  • JavaScript: you will receive a list of strings

Output

  • Print the proper output messages in the proper cases as described in the problem description

Examples

Input

Output

Hawai::Cyprys-Greece

Add Stop:7:Rome

Remove Stop:11:16

Switch:Hawai:Bulgaria

Travel

Hawai::RomeCyprys-Greece

Hawai::Rome-Greece

Bulgaria::Rome-Greece

Ready for world tour! Planned stops: Bulgaria::Rome-Greece

 

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

Здравей, Olegati,

 

Проблемът идва оттам, че трябва да изнесеш печатането извън if проверките и за трите случая в switch-a. По условие след всяка команда трябва да принтираме текущото състояние на стринга: Note: After each command print the current state of the string. Пример с единия случай, който важи и за останалите два:

                case "Add Stop":
                    int index = Integer.parseInt(tokens[1]);
                    String string = tokens[2];
                    if (indexIsValid(stops, index)) {
                        StringBuilder strBuild = new StringBuilder(stops);
                        strBuild.insert(index, string);
                        stops = strBuild.toString();
                    }
                    System.out.println(stops);
                    
                    break;

0
06/08/2021 13:33:18
Olegati avatar Olegati 7 Точки

yes  Благодаря, всъщност само командите с валидни индекси са се принтирали, а трябва и валидните и невалидните команди да се принтират.

0
svephoto avatar svephoto 1191 Точки

По-скоро трябва всеки път след конкретната команда да се принтира състоянието на стринга - било то с извършена промяна в него или без, взависимост от това дали индексите са валидни, или не (при първите два слуая), също и дали стрингът, подаден от отвън, се съдържа в настоящото състояние на нашия стринг, или не (при третия случай). С промяна или без в стринга - всеки път го отпечатваме.

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