Guest User

Untitled

a guest
Dec 19th, 2015
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.33 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.List;
  3.  
  4. /**
  5.  * @author /u/Philboyd_Studge on 12/18/2015.
  6.  */
  7. public class Advent19 {
  8.  
  9.     // part 1
  10.     public static void main(String[] args) {
  11.         List<String[]> input = FileIO.getFileLinesSplit("advent19.txt", " => ");
  12.         List<String> output = new ArrayList<>();
  13.         String molecule = "CRnSiRnCaPTiMgYCaPTiRnFArSiThFArCaSiThSiThPBCaCaSiRnSiRnTiTiMgArPBCaPMgYPTiRnFArFArCaSiRnBPMgArPRnCaPTiRnFArCaSiThCaCaFArPBCaCaPTiTiRnFArCaSiRnSiAlYSiThRnFArArCaSiRnBFArCaCaSiRnSiThCaCaCaFYCaPTiBCaSiThCaSiThPMgArSiRnCaPBFYCaCaFArCaCaCaCaSiThCaSiRnPRnFArPBSiThPRnFArSiRnMgArCaFYFArCaSiRnSiAlArTiTiTiTiTiTiTiRnPMgArPTiTiTiBSiRnSiAlArTiTiRnPMgArCaFYBPBPTiRnSiRnMgArSiThCaFArCaSiThFArPRnFArCaSiRnTiBSiThSiRnSiAlYCaFArPRnFArSiThCaFArCaCaSiThCaCaCaSiRnPRnCaFArFYPMgArCaPBCaPBSiRnFYPBCaFArCaSiAl";
  14.  
  15.         for (String[] each : input) {
  16.             int position = 0;
  17.             while ((position = molecule.indexOf(each[0], position)) >= 0) {
  18.                 output.add(molecule.substring(0, position) + each[1] +
  19.                         molecule.substring(position + each[0].length()));
  20.                 position += each[0].length();
  21.             }
  22.         }
  23.  
  24.         long count = output.stream()
  25.                 .distinct()
  26.                 .count();
  27.  
  28.         System.out.println(count);
  29.     }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment