Advertisement
veronikaaa86

01. Sum Adjacent Equal Numbers

Jun 7th, 2023
940
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.37 KB | None | 0 0
  1. package list;
  2.  
  3.  
  4. import java.text.DecimalFormat;
  5. import java.util.ArrayList;
  6. import java.util.Arrays;
  7. import java.util.List;
  8. import java.util.Scanner;
  9. import java.util.stream.Collectors;
  10.  
  11. public class P01SumAdjacentEqualNumbers {
  12.     public static void main(String[] args) {
  13.         Scanner scanner = new Scanner(System.in);
  14.  
  15.         String input = scanner.nextLine();
  16.  
  17.         List<Double> numbersList = Arrays
  18.                 .stream(input.split(" "))
  19.                 .map(Double::parseDouble)
  20.                 .collect(Collectors.toList());
  21.        
  22.         for (int i = 0; i < numbersList.size() - 1; i++) {
  23.             double currentNum = numbersList.get(i);
  24.             double nextNum = numbersList.get(i + 1);
  25.  
  26.             if (currentNum == nextNum) {
  27.                 double sum = currentNum + nextNum;
  28.  
  29.                 numbersList.set(i, sum);
  30.                 numbersList.remove(i + 1);
  31.                 i = -1;
  32.             }
  33.         }
  34.  
  35.         System.out.println(joinElementsByDelimiter(" ", numbersList));
  36.     }
  37.  
  38.     public static String joinElementsByDelimiter(String delimiter, List<Double> list) {
  39.         DecimalFormat df = new DecimalFormat("0.#");
  40.  
  41.         String result = "";
  42.         for (double item : list) {
  43.             String numDf = df.format(item) + delimiter;
  44.             result += numDf;
  45.         }
  46.  
  47.         return result;
  48.     }
  49. }
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement