Advertisement
Guest User

Untitled

a guest
Dec 4th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.50 KB | None | 0 0
  1. package Advent2018;
  2.  
  3. import util.AdventOfCode;
  4.  
  5. import java.util.List;
  6.  
  7. public class Day5 extends AdventOfCode {
  8.  
  9.     public Day5(List<String> input) {
  10.         super(input);
  11.     }
  12.  
  13.     private int remove(StringBuilder in) {
  14.         boolean removed = true;
  15.  
  16.         while (removed) {
  17.             for (int i = 0; i < in.length() - 1; i++) {
  18.                 if ( (in.charAt(i) ^ in.charAt(i + 1)) == 32) {
  19.                     in.delete(i, i + 2);
  20.                     removed = true;
  21.                     break;
  22.                 }
  23.                 removed = false;
  24.             }
  25.         }
  26.         return in.length();
  27.     }
  28.  
  29.     @Override
  30.     public Object part1() {
  31.         StringBuilder chain = new StringBuilder(input.get(0));
  32.         return remove(chain);
  33.     }
  34.  
  35.     @Override
  36.     public Object part2() {
  37.         int min = Integer.MAX_VALUE;
  38.  
  39.         String[] patterns = new String[26];
  40.         for (int i = 0; i < 26; i++) {
  41.             patterns[i] = "[" + (Character.toString((char)(i + 'a'))) +
  42.                     (Character.toString((char)(i + 'A'))) + "]";
  43.             //System.out.println(patterns[i]);
  44.         }
  45.  
  46.         for (int i = 0; i < 26; i++) {
  47.             String chain = input.get(0);
  48.             chain = chain.replaceAll(patterns[i], "");
  49.             int result = remove(new StringBuilder(chain));
  50.             System.out.println(result);
  51.             if (result < min) min = result;
  52.         }
  53.         return min;
  54.     }
  55.  
  56.     @Override
  57.     public void parse() {
  58.  
  59.     }
  60.  
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement