Advertisement
Guest User

07. Take/Skip Rope

a guest
Jun 17th, 2017
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.50 KB | None | 0 0
  1. namespace _07.Take_or_Skip_Rope
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.     using System.Linq;
  6.  
  7.     class Take_or_Skip_Rope
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             string initialMessage = Console.ReadLine();
  12.             char[] initialChars = initialMessage.
  13.                 ToCharArray();
  14.  
  15.             char[] letters = initialChars.
  16.                 Where(a => !char.IsDigit(a)).ToArray();
  17.  
  18.             int[] digits = initialChars.
  19.                 Where(a => char.IsDigit(a)).
  20.                 Select(a => int.Parse(a.ToString())).
  21.                 ToArray();
  22.  
  23.             List<int> take = new List<int>();
  24.             List<int> skip = new List<int>();
  25.  
  26.             for (int i = 0; i < digits.Length; i++)
  27.             {
  28.                 if (i % 2 == 0)
  29.                 {
  30.                     take.Add(digits[i]);
  31.                 }
  32.  
  33.                 else
  34.                 {
  35.                     skip.Add(digits[i]);
  36.                 }
  37.             }
  38.  
  39.             int totalSkip = 0;
  40.             string finalMessage = String.Empty;
  41.  
  42.             for (int i = 0; i < take.Count; i++)
  43.             {
  44.                 int takeCount = take[i];
  45.                 int skipCount = skip[i];
  46.  
  47.                 finalMessage += new string(
  48.                     letters.Skip(totalSkip).
  49.                     Take(takeCount).ToArray());
  50.  
  51.                 totalSkip += takeCount + skipCount;
  52.             }
  53.  
  54.             Console.WriteLine(finalMessage);
  55.  
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement