Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Exam_Preparation_2;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- 6
- import java.util.*;
- 7
- import java.util.regex.Matcher;
- 8
- import java.util.regex.Pattern;
- 9
- import java.util.stream.Collectors;
- 10
- 11
- /**
- 12
- * Created by teodor donchev on 10/19/2017.
- 13
- */
- 14
- public class p01_HandScore {
- 15
- public static void main(String[] args) throws IOException {
- 16
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- 17
- 18
- String[] input = reader.readLine().split(" ");
- 19
- int result = 0;
- 20
- int counter = 1;
- 21
- int out = 0;
- 22
- int nextNums = 0;
- 23
- 24
- Deque<Integer> sequence = new ArrayDeque<>();
- 25
- 26
- for (int i = 0; i < input.length; i++) {
- 27
- String currentCard = input[i];
- 28
- int currentNumber = getNumberValue(currentCard.substring(0, currentCard.length() - 1));
- 29
- String currentSuit = currentCard.charAt(currentCard.length() - 1) + "";
- 30
- 31
- for (int j = i + 1; j < input.length ; j++) {
- 32
- int nextNumber = getNumberValue(input[j].substring(0, input[j].length() - 1));
- 33
- String nextSuit = input[j].charAt(input[j].length() - 1) + "";
- 34
- if(j == input.length - 1){
- 35
- i = j;
- 36
- }
- 37
- 38
- if (currentSuit.equals(nextSuit)) {
- 39
- if(counter == 1) {
- 40
- sequence.offer(currentNumber);
- 41
- }
- 42
- counter++;
- 43
- sequence.offer(nextNumber);
- 44
- }
- 45
- else { counter = 1; i = j - 1;break;}
- 46
- }
- 47
- 48
- if (sequence.size() != 0) {
- 49
- int size = 0;
- 50
- int toAdd = 0;
- 51
- while (!sequence.isEmpty()) {
- 52
- size++;
- 53
- toAdd += sequence.poll();
- 54
- }
- 55
- toAdd *= size;
- 56
- result += toAdd;
- 57
- }
- 58
- else{
- 59
- result += currentNumber;
- 60
- }
- 61
- }
- 62
- 63
- System.out.println(result);
- 64
- }
- 65
- 66
- 67
- private static int getNumberValue(String current) {
- 68
- Pattern pattern = Pattern.compile("[0-9]+");
- 69
- Matcher matcher = pattern.matcher(current);
- 70
- 71
- int number = 0;
- 72
- 73
- if (matcher.find()) {
- 74
- number = Integer.parseInt(matcher.group());
- 75
- } else {
- 76
- switch (current.charAt(0)) {
- 77
- case 'J':
- 78
- return 12;
- 79
- case 'Q':
- 80
- return 13;
- 81
- case 'K':
- 82
- return 14;
- 83
- case 'A':
- 84
- return 15;
- 85
- }
- 86
- }
- 87
- return number;
- 88
- }
- 89
- }
- 90
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement