Advertisement
NilsKirchhoff

AoC 2019 - Day 1 - ProcessingSketch

Dec 1st, 2019
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.40 KB | None | 0 0
  1. String fileName = "input.txt";
  2. BufferedReader reader;
  3.  
  4. void setup() {
  5.     reader = createReader(fileName);
  6.     println(day1_1());
  7.     // answer 3371958
  8.     reader = createReader(fileName);
  9.     println(day1_2());
  10.     //answer 5055050
  11. }
  12.  
  13. int day1_1() {
  14.   boolean ready = false;
  15.   String line;
  16.   int fuel = 0;
  17.   while (!ready) {
  18.     try {
  19.       line = reader.readLine();
  20.     }
  21.     catch (IOException e) {
  22.       line = null;
  23.       ready = true;
  24.     }    
  25.     if (line == null) {
  26.       ready = true;
  27.     } else {
  28.       int tempFuel = module(int(line));
  29.       fuel += tempFuel;
  30.     }
  31.    }
  32.    return fuel;
  33. }
  34.  
  35. int day1_2() {
  36.   IntList modules = new IntList();
  37.   boolean ready = false;
  38.   String line;
  39.   int totalFuel = 0;
  40.   int moduleFuel = 0;  
  41.  
  42.   while (!ready) {
  43.     try {
  44.       line = reader.readLine();
  45.     }
  46.     catch (IOException e) {
  47.       line = null;
  48.       ready = true;
  49.     }    
  50.     if(line != null) {
  51.         //println(line);
  52.         moduleFuel = module(int(line));
  53.         int tempFuel = moduleFuel;
  54.         while (tempFuel > 0) {
  55.           tempFuel = module(tempFuel);
  56.           if (tempFuel > 0)
  57.             moduleFuel += tempFuel;
  58.         }
  59.         modules.append(moduleFuel);
  60.     } else {
  61.       ready = true;
  62.     }
  63.   }
  64.   for(int values : modules)
  65.      totalFuel += values;
  66.   return totalFuel;
  67. }
  68.  
  69. int module(int fuel) {
  70.   return floor(fuel / 3) - 2;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement