Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. package com.demo;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8.  
  9. public class App {
  10. public static void main(String[] args) throws IOException {
  11.  
  12. List<Integer> glasses = getInput();
  13. int numberOfRounds = getRounds(glasses);
  14. System.out.println("brothersInTheBar(glasses) = " + numberOfRounds);
  15. }
  16.  
  17. private static int getRounds(List<Integer> glasses) {
  18. int roundsCounter = 0;
  19. List<Integer> stack = new ArrayList<>();
  20.  
  21. for (int i = 0; i < glasses.size(); i++) {
  22. stack.add(glasses.get(i));
  23. if (stack.size() >= 3) {
  24. int first = stack.get(stack.size() - 1);
  25. int second = stack.get(stack.size() - 2);
  26. int third = stack.get(stack.size() - 3);
  27. if (first == second && first == third) {
  28. stack.remove(stack.size() - 1);
  29. stack.remove(stack.size() - 1);
  30. stack.remove(stack.size() - 1);
  31. roundsCounter++;
  32. }
  33. }
  34. }
  35. return roundsCounter;
  36. }
  37.  
  38. private static List<Integer> getInput() throws IOException {
  39. BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  40. List<Integer> glasses;
  41. System.out.println("Enter input using space between numbers or commas: ");
  42. while (true) {
  43. try {
  44. String[] input = reader.readLine().split("[,\\s]+");
  45. glasses = parseArray(input);
  46. break;
  47. } catch (IOException | NumberFormatException e) {
  48. System.out.println("Wrong input! Please try again.");
  49. }
  50. }
  51. reader.close();
  52. return glasses;
  53. }
  54.  
  55. private static List<Integer> parseArray(String[] arr) throws NumberFormatException {
  56. List<Integer> glasses = new ArrayList<>();
  57. for (String s : arr) {
  58. glasses.add(Integer.parseInt(s));
  59. }
  60. return glasses;
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement