Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- class Program
- {
- static void Main(string[] args)
- {
- string input = Console.ReadLine();
- List<char> nonNumberList = input.ToList(); //тук ще пазим само буквичките
- List<char> numberList = nonNumberList.Where(x => char.IsDigit(x)).ToList(); //тук са числата
- nonNumberList = nonNumberList.Where(x => !char.IsDigit(x)).ToList(); //премахваме числата и остават само букви
- List<char> result = new List<char>(); //крайния резултат
- int index = 0; //настоящия индекс от който ще вземаме текст
- for (int i = 0; i < numberList.Count && index < nonNumberList.Count; i += 2) //въртим цикъл по числата като инкрементираме с 2
- {
- int take = int.Parse(numberList[i].ToString()); //броят на буквите които ще вземем
- int skip = int.Parse(numberList[i + 1].ToString()); //броят на буквите които ще пропуснем
- take = Math.Min(take, nonNumberList.Count - index); //преизчисляваме take да не превиши границите на списъка с буквите
- result.AddRange(nonNumberList.GetRange(index, take)); //към резултата добавяме толкова букви колкото има от индекса до take
- index += take; //инкрементираме индекса с буквите които сме взели
- index += skip; //инкрементираме индекса с буквите които сме пропуснали
- }
- Console.WriteLine(string.Join("", result));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment