static void Main() { var input = Console.ReadLine().Split(new [] { " " }, StringSplitOptions.RemoveEmptyEntries); var divider = int.Parse(Console.ReadLine()); var result = input .Select(int.Parse) .Where(x => !CreatePredicate(divider)(x)) .Reverse() .ToList(); Console.WriteLine(string.Join(" ", result)); }
static void Main() { var members = Console.ReadLine().Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); var partyMembers = new List <string>(); partyMembers = members.ToList(); var predicates = new List <string>(); while (true) { var input = Console.ReadLine(); if ("Print".Equals(input)) { break; } var commandData = input.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries); var command = commandData[0]; var commandCondition = commandData[1]; var commandValue = commandData[2]; switch (command) { case "Remove filter": if (predicates.Contains(commandCondition + ";" + commandValue)) { predicates.Remove(commandCondition + ";" + commandValue); } break; case "Add filter": predicates.Add(commandCondition + ";" + commandValue); break; } } if (partyMembers.Count > 0) { foreach (var item in predicates) { var conditionValuePair = item.Split(new[] { ";" }, StringSplitOptions.None); var condition = conditionValuePair[0]; var value = conditionValuePair[1]; partyMembers = partyMembers .Where(s => !CreatePredicate(condition, value)(s)) .ToList(); } var result = string.Join(" ", partyMembers); Console.WriteLine(result); } }
static void Main() { var nameLength = int.Parse(Console.ReadLine()); var input = Console.ReadLine().Split(new [] { " " }, StringSplitOptions.RemoveEmptyEntries); for (int counter = 0; counter < input.Length; counter++) { if (CreatePredicate(nameLength)(input[counter])) { Console.WriteLine(input[counter]); } } }
static void Main() { var members = Console.ReadLine().Split(new [] { " " }, StringSplitOptions.RemoveEmptyEntries); var partyMembers = new List <string>(); partyMembers = members.ToList(); while (true) { var input = Console.ReadLine(); if ("Party!".Equals(input)) { break; } var commandData = input.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); var command = commandData[0]; var commandCondition = commandData[1]; var commandValue = commandData[2]; switch (command) { case "Remove": partyMembers = partyMembers .Where(s => !CreatePredicate(commandCondition, commandValue)(s)) .ToList(); break; case "Double": var counter = partyMembers.Count; for (int i = 0; i < counter; i++) { if (CreatePredicate(commandCondition, commandValue)(partyMembers[i])) { partyMembers.Insert(i, partyMembers[i]); i++; counter++; } } break; } } if (partyMembers.Count > 0) { var result = string.Join(", ", partyMembers); Console.WriteLine($"{result} are going to the party!"); } else { Console.WriteLine("Nobody is going to the party!"); } }