kotunec

04.Files / Programming Fundamentals

Feb 23rd, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace _04.Files
  6. {
  7.     public class File
  8.     {
  9.         public string Name { get; set; }
  10.  
  11.         public string Folder { get; set; }
  12.  
  13.         public long Size { get; set; }
  14.  
  15.     }
  16.  
  17.     public class Files
  18.     {
  19.         public static void Main()
  20.         {
  21.             var filesNumber = int.Parse(Console.ReadLine());
  22.             var allFiles = new List<File>();
  23.  
  24.             for (int i = 0; i < filesNumber; i++)
  25.             {
  26.                 var input = Console.ReadLine().Split('\\');
  27.                 var fileData = input.Last().Split(';');
  28.                 var fileName = fileData[0];
  29.                 var fileSize = fileData.Last();
  30.  
  31.                 var currFile = new File();
  32.                 currFile.Folder = input[0];
  33.                 currFile.Name = fileName;
  34.                 currFile.Size = long.Parse(fileSize);
  35.                 allFiles.Add(currFile);
  36.             }
  37.  
  38.             var command = Console.ReadLine().Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
  39.             var folder = command.Last();
  40.             var ext = command.First();
  41.  
  42.             var results = new Dictionary<string,long>();
  43.  
  44.             foreach (var file in allFiles)
  45.             {
  46.                 if (file.Folder.Equals(folder) && file.Name.EndsWith(ext))
  47.                 {
  48.                     results[file.Name] = file.Size;
  49.                 }
  50.             }
  51.  
  52.             if (results.Count == 0)
  53.             {
  54.                 Console.WriteLine("No");
  55.             }
  56.  
  57.             else
  58.             {
  59.                 foreach (var result in results.OrderByDescending(r => r.Value).ThenBy(r => r.Key))
  60.                 {
  61.                     Console.WriteLine($"{result.Key} - {result.Value} KB");
  62.                 }
  63.             }
  64.         }
  65.     }
  66. }
Add Comment
Please, Sign In to add comment