diff --git a/exercise.main/Core.cs b/exercise.main/Core.cs index bf5077d..90c214b 100644 --- a/exercise.main/Core.cs +++ b/exercise.main/Core.cs @@ -19,14 +19,56 @@ public class Core public bool winningPair(IEnumerable> hands, out Tuple result) { result = new Tuple(string.Empty, string.Empty); + int highestWinnerPairValue = 0; - // your code here... + foreach (var pair in hands) + { + var score = GetValueOfCard(pair.Item1) + GetValueOfCard(pair.Item2); + + if (pair.Item1 == pair.Item2 && score > highestWinnerPairValue) + { + result = new Tuple(pair.Item1, pair.Item2); + highestWinnerPairValue = score; + } + } return result.Item1!=string.Empty ? true : false; } public int GetValueOfCard(string card) { - return 0; + switch (card) + { + case "1": + return 1; + case "2": + return 2; + case "3": + return 3; + case "4": + return 4; + case "5": + return 5; + case "6": + return 6; + case "7": + return 7; + case "8": + return 8; + case "9": + return 9; + case "10": + return 10; + case "J": + return 11; + case "Q": + return 12; + case "K": + return 13; + case "A": + return 14; + default: + return 0; + } } } } diff --git a/exercise.main/Extension.cs b/exercise.main/Extension.cs index b33ba1f..a3d5540 100644 --- a/exercise.main/Extension.cs +++ b/exercise.main/Extension.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Reflection.Metadata; using System.Text; using System.Threading.Tasks; @@ -12,9 +13,57 @@ public class Extension public bool winningThree(IEnumerable> hand, out Tuple result) { result = new Tuple(string.Empty, string.Empty, string.Empty); + int highestWinnerPairValue = 0; + + foreach (var pair in hand) + { + var score = GetValueOfCard(pair.Item1) + GetValueOfCard(pair.Item2); + + if (pair.Item1 == pair.Item2 && pair.Item2 == pair.Item3 && score > highestWinnerPairValue) + { + result = new Tuple(pair.Item1, pair.Item2, pair.Item3); + highestWinnerPairValue = score; + } + } return false; } + public int GetValueOfCard(string card) + { + switch (card) + { + case "1": + return 1; + case "2": + return 2; + case "3": + return 3; + case "4": + return 4; + case "5": + return 5; + case "6": + return 6; + case "7": + return 7; + case "8": + return 8; + case "9": + return 9; + case "10": + return 10; + case "J": + return 11; + case "Q": + return 12; + case "K": + return 13; + case "A": + return 14; + default: + return 0; + } + } } }