Loading...
Desislava011 avatar Desislava011 1 Точки

07. String Explosion

Здравейте! Някой може ли да ми изпрати решение на тази задача с подробно обяснение? 

Благодаря предварително!

Линк към задачата --> https://judge.softuni.bg/Contests/Compete/Index/1217#6

Тагове:
0
Fundamentals Module
Tyza4o avatar Tyza4o 3 Точки

Здравей!

Предлагам едно по-кратко решение. Написах няколко коментара за яснота. Надявам се да съм полезен! 

https://pastebin.com/pBxRn0u2

П.С. Поздрави на ПМГ В. Търново ! :)

0
popopo avatar popopo 1 Точки

Страхотно решение, кратко и ясно(и работещо :-)), благодаря, че го сподели.

Павлина

0
heidan avatar heidan 2 Точки

Страхотно рвшение! Трудно бих се сетил....

Някой може ли да помогне, да ми каже аз къде греша? Judge дава 50/100

https://pastebin.com/7v89yu74

0
Nikodon avatar Nikodon 3 Точки

Привет,

може ли да обясниш ето тук:  field = field.Remove(i, 1); // Remove char on this index

Защо е (i,1)?

Разбирам, че махаме индекса , на който е числото, но защо той е 1 -ца?

Благодаря!

 

Поздрави!

0
D.V.Ivanov avatar D.V.Ivanov 6 Точки

Ето и за Python :

enter = input()

new_list = ""
explosion = 0
lenght = 0

while lenght < len(enter):
    for i in range(len(enter)):
        if not enter[i] == ">" and explosion > 0:
            explosion -= 1
        elif enter[i] == ">":
            explosion += int(enter[i + 1])
            new_list += enter[i]
        else:
            new_list += enter[i]
        lenght += 1
print(new_list)
0
moraliev1 avatar moraliev1 1 Точки

Здравей,

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

 

data = input()
output = ""
bomb = 0

for i in range(len(data)):
    if data[i] == ">":
        bomb += int(data[i + 1])
        output += data[i]
    elif data[i] != ">" and bomb > 0:
        bomb -= 1
    else:
        output += data[i]

print(output)
0
27/11/2021 12:30:13
Alexai avatar Alexai 2 Точки

Кратко решение ,даващо 100 от 100 и от мен:

def main():

    user_input = input()

    result = []

    count = 0

    index = 0

 

    for char in user_input:

        if char == '>':

            count += int(user_input[index + 1])

            result.append(char)

        elif count > 0:

            count -= 1

        else:

            result.append(char)

        index += 1

 

    print(''.join(result))


 

if __name__ == '__main__':

    main()

 

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