Advertisement
Guest User

SumCards

a guest
Jun 1st, 2014
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.43 KB | None | 0 0
  1. import java.util.LinkedHashMap;
  2. import java.util.Map;
  3. import java.util.Scanner;
  4.  
  5.  
  6.  
  7. public class _Problem02 {
  8.     public static void main(String[] args) {
  9.        
  10.         Scanner sc = new Scanner(System.in);
  11.         String[] input = sc.nextLine().split("[ SHDC]+");      
  12.         Map<String, Integer> cardPoints = new LinkedHashMap<String, Integer>();
  13.         int sum = 0;
  14.         int occurancesCount = 0;
  15.        
  16.         FilledMapWithCardsAndPoint(cardPoints);
  17.        
  18.         for (Map.Entry<String, Integer> card : cardPoints.entrySet()) {
  19.             if (card.getKey().equals(input[0])) {              
  20.                 sum += card.getValue();    
  21.                 occurancesCount = 1;
  22.             }
  23.         }
  24.        
  25.         for (int i = 1; i < input.length; i++) {
  26.             for (Map.Entry<String, Integer> card : cardPoints.entrySet()) {
  27.                 if (card.getKey().equals(input[i])) {
  28.                     if (input[i].equals(input[i - 1])) {
  29.                         occurancesCount++;
  30.                         if (occurancesCount == 2) {
  31.                             sum += card.getValue() + card.getValue() + card.getValue();
  32.                         }
  33.                         else if (occurancesCount > 2) {
  34.                             sum += card.getValue() * 2;
  35.                         }
  36.                     } else {
  37.                         sum += card.getValue();
  38.                         occurancesCount = 1;
  39.                     }
  40.                 }
  41.             }
  42.         }
  43.         System.out.println(sum);
  44.     }
  45.    
  46.    
  47.  
  48.     private static void FilledMapWithCardsAndPoint(
  49.             Map<String, Integer> cardPoints) {
  50.         for (int i = 2; i <= 10; i++) {
  51.             cardPoints.put(String.valueOf(i), i);
  52.         }
  53.         cardPoints.put("J", 12);
  54.         cardPoints.put("Q", 13);
  55.         cardPoints.put("K", 14);
  56.         cardPoints.put("A", 15);
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement