Advertisement
vencinachev

Commands

Mar 16th, 2019
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.28 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. public class Program
  6. {
  7.     public static void Main()
  8.     {
  9.         List<int> numbers = Console.ReadLine().Split(' ').Select(n => int.Parse(n)).ToList();
  10.         while (true)
  11.         {
  12.             String command = Console.ReadLine();
  13.             if (command == "print")
  14.             {
  15.                 break;
  16.             }
  17.             String[] cmd = command.Split(' ');
  18.             if (cmd[0] == "push")
  19.             {
  20.                 numbers.Add(int.Parse(cmd[1]));
  21.             }
  22.             else if (cmd[0] == "pop")
  23.             {
  24.                 Console.WriteLine(numbers[numbers.Count - 1]);
  25.                 numbers.RemoveAt(numbers.Count - 1);
  26.             }
  27.             else if (cmd[0] == "shift")
  28.             {
  29.                 int first = numbers[0];
  30.                 int last = numbers[numbers.Count - 1];
  31.                 numbers.RemoveAt(0);
  32.                 numbers.RemoveAt(numbers.Count - 1);
  33.                 numbers.Add(first);
  34.                 numbers.Insert(0, last);
  35.             }
  36.             else if (cmd[0] == "remove")
  37.             {
  38.                 int index = int.Parse(cmd[1]);
  39.                 if (numbers.Count > index)
  40.                 {
  41.                     numbers.RemoveAt(index);
  42.                 }
  43.             }
  44.             else if (cmd[0] == "addMany")
  45.             {
  46.                 int index = int.Parse(cmd[1]);
  47.                 if (numbers.Count > index)
  48.                 {
  49.                     for (int i = 2; i < cmd.Length; i++)
  50.                     {
  51.                         numbers.Insert(index, int.Parse(cmd[i]));
  52.                         index++;
  53.                     }
  54.                 }
  55.             }
  56.         }
  57.         numbers.Reverse();
  58.         Console.WriteLine(string.Join(",", numbers));
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement