Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace DeleteThat
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<int> numbers = Console.ReadLine()
- .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
- .Select(int.Parse)
- .ToList();
- string[] command = Console.ReadLine()
- .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
- .ToArray();
- while (command[0] != "print")
- {
- switch (command[0])
- {
- case "add":
- numbers.Insert(int.Parse(command[1]), int.Parse(command[2]));
- break;
- case "addMany":
- {
- List<int> collection = command.Skip(2).Select(s => int.Parse(s)).ToList();
- numbers.InsertRange(int.Parse(command[1]), collection);
- break;
- }
- case "contains":
- {
- int index = numbers.IndexOf(int.Parse(command[1]));
- Console.WriteLine(index);
- break;
- }
- case "remove":
- numbers.RemoveAt(int.Parse(command[1]));
- break;
- case "shift":
- {
- //int rotations = int.Parse(command[1]);
- //while (rotations > 0)
- //{
- // int firstElement = numbers[0];
- // numbers.RemoveAt(0);
- // numbers.Add(firstElement);
- // rotations--;
- //}
- if (int.Parse(command[1]) > numbers.Count)
- {
- List<int> temp = numbers.Take(int.Parse(command[1]) % numbers.Count).ToList();
- numbers = numbers.Skip(int.Parse(command[1]) % numbers.Count).ToList();
- numbers.AddRange(temp);
- }
- else
- {
- List<int> temp = numbers.Take(int.Parse(command[1])).ToList();
- numbers = numbers.Skip(int.Parse(command[1])).ToList();
- numbers.AddRange(temp);
- }
- break;
- }
- case "sumPairs":
- {
- for (int i = 0; i < numbers.Count - 1; i++)
- {
- numbers[i] += numbers[i + 1];
- numbers.RemoveAt(i + 1);
- }
- break;
- }
- }
- command = Console.ReadLine()
- .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
- .ToArray();
- }
- Console.WriteLine($"[{string.Join(", ", numbers)}]");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement