)дана строка содержащая не более 100 символов. среди символов в строке особую роль играет символ #, появление которого в ней означает удаление предыдущего символа и символ $ появления которого мне означает удвоение предыдущего символа. соответственно k символов #, идущих подряд удаляют k предыдущих символов строки, если таковые имеются. если в какой-то момент перед некоторым символом # или & не осталось символов, то этот символ следует игнорировать. символы # и $ не оказывают влияние друг на друга. преобразовать исходную строку с учетом указанных значений символов # и $, при этом сами эти символы не выводятся.
using System;
using System.Collections.Generic;
using System.Linq;
namespace task29735221
{
class Program
{
static void Main(string[] args)
{
string input = Console.ReadLine();
LinkedList<char> output = new LinkedList<char>();
foreach (var character in input)
{
if (character == '#')
{ if (output.Any()) output.RemoveLast(); }
else if (character == '$')
{ if (output.Any()) output.AddLast(output.Last.Value); }
else
output.AddLast(character);
}
Console.WriteLine(String.Join("", output));
}
}
}