Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace _04._MeTube_Statistics
- {
- class Program
- {
- static void Main(string[] args)
- {
- string input;
- Dictionary<string, int> video = new Dictionary<string, int>();
- Dictionary<string, int> likeOrDislike = new Dictionary<string, int>();
- while ((input = Console.ReadLine()) != "stats time")
- {
- if (input.Contains("-"))
- {
- string[] splitInput = input.Split("-");
- string videoName = splitInput[0];
- int view = int.Parse(splitInput[1]);
- if (!video.ContainsKey(videoName))
- {
- video[videoName] = view;
- }
- else if (video.ContainsKey(videoName))
- {
- video[videoName] += view;
- }
- }
- else
- {
- string[] splitInput = input.Split(":");
- if (splitInput[0] == "like")
- {
- string nameVideo = splitInput[1];
- if (!likeOrDislike.ContainsKey(nameVideo))
- {
- likeOrDislike[nameVideo] = 0;
- }
- likeOrDislike[nameVideo]++;
- }
- else if (splitInput[0] == "dislike")
- {
- string nameVideo = splitInput[1];
- if (!likeOrDislike.ContainsKey(nameVideo))
- {
- likeOrDislike[nameVideo] = 0;
- }
- likeOrDislike[nameVideo]--;
- }
- }
- }
- input = Console.ReadLine();
- if (input == "by views")
- {
- foreach (var meTube in video.OrderByDescending(meTube => meTube.Value))
- {
- foreach (var likes in likeOrDislike)
- {
- if (meTube.Key == likes.Key)
- {
- Console.WriteLine($"{meTube.Key} - {meTube.Value} views - {likes.Value} likes");
- video.Remove(likes.Key);
- likeOrDislike.Remove(meTube.Key); break;
- }
- else
- {
- Console.WriteLine($"{meTube.Key} - {meTube.Value} views - {0} likes");
- }
- }
- }
- }
- else if (input == "by likes")
- {
- foreach (var meTube in video.OrderBy(x=>x.Value))
- {
- foreach (var likes in likeOrDislike.OrderByDescending(likes => likes.Value))
- {
- if (meTube.Key.Contains(likes.Key))
- {
- Console.WriteLine($"{meTube.Key} - {meTube.Value} views - {likes.Value} likes");
- video.Remove(likes.Key);
- likeOrDislike.Remove(meTube.Key); break;
- }
- else
- {
- Console.WriteLine($"{meTube.Key} - {meTube.Value} views - {0} likes");
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement