Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.demo;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.List;
- public class App {
- public static void main(String[] args) throws IOException {
- List<Integer> glasses = getInput();
- int numberOfRounds = getRounds(glasses);
- System.out.println("brothersInTheBar(glasses) = " + numberOfRounds);
- }
- private static int getRounds(List<Integer> glasses) {
- int roundsCounter = 0;
- List<Integer> stack = new ArrayList<>();
- for (int i = 0; i < glasses.size(); i++) {
- stack.add(glasses.get(i));
- if (stack.size() >= 3) {
- int first = stack.get(stack.size() - 1);
- int second = stack.get(stack.size() - 2);
- int third = stack.get(stack.size() - 3);
- if (first == second && first == third) {
- stack.remove(stack.size() - 1);
- stack.remove(stack.size() - 1);
- stack.remove(stack.size() - 1);
- roundsCounter++;
- }
- }
- }
- return roundsCounter;
- }
- private static List<Integer> getInput() throws IOException {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- List<Integer> glasses;
- System.out.println("Enter input using space between numbers or commas: ");
- while (true) {
- try {
- String[] input = reader.readLine().split("[,\\s]+");
- glasses = parseArray(input);
- break;
- } catch (IOException | NumberFormatException e) {
- System.out.println("Wrong input! Please try again.");
- }
- }
- reader.close();
- return glasses;
- }
- private static List<Integer> parseArray(String[] arr) throws NumberFormatException {
- List<Integer> glasses = new ArrayList<>();
- for (String s : arr) {
- glasses.add(Integer.parseInt(s));
- }
- return glasses;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement