using System.Collections.Generic;
using System.Text.RegularExpressions;
public static void Main(string[] args)
string[] data = { "deer", "moose", "boars", "senaki", "moose", "boars", "senaki", "moose", "boars", "senaki", "moose", "boars", "senaki", "deer", "moose", "boars", "nolo", "deer", "moose", "boars", "nolo", "nolo", "deer", "moose", "boars", "nolo" };
DateTime tyd = new DateTime(2019,01,9);
Console.WriteLine(DateConverter(tyd, 1));
bool bRes = isFibo(4, 0, 1);
Console.WriteLine(RevString("my name123: is senaki/?"));
Dictionary<string, int> oDict = new Dictionary<string, int>();
oDict = AggregateNames(data);
Console.WriteLine(oDict.Count);
foreach (KeyValuePair<string, int> pair in oDict)
Console.WriteLine("Key: {0} Values: {1}", pair.Key, pair.Value);
public static string DateConverter(DateTime date, int num)
string sNum = num.ToString().PadLeft(5, '0');
string sTime = date.ToString("yymmdd");
return ((sNum.Length <= 5) && (sTime.Length == 6)) ? string.Format("{0}-{1}", sNum, sTime) : null;
Console.WriteLine("Error caught + {0}",ex.Message);
static string RevString(string sInput)
var split = Regex.Split(sInput, @"([^a-zA-Z0-9])");
var results = split.Select(x => x.All(char.IsLetterOrDigit)
? new string(x.Reverse().ToArray())
return string.Concat(results);
static Dictionary<string, int> AggregateNames(string[] lines)
Dictionary<string, int> dict = new Dictionary<string, int>();
string[] sLinesNoDuplicate = lines.Distinct().ToArray();
foreach (var item in sLinesNoDuplicate)
foreach (var name in lines)
static bool isFibo(int valueToCheck, int previousValue, int currnetValue)
return currnetValue > valueToCheck ? false : valueToCheck == currnetValue ? true : isFibo(valueToCheck ,currnetValue,previousValue + currnetValue);