Exemple #1
0
 public function solve()
 {
     $input_string = Helpers::getStringInputForDay(3);
     $input_array = str_split($input_string);
     $map = [];
     $x = 0;
     $y = 0;
     $map[$x][$y] = 1;
     $houses = 1;
     foreach ($input_array as $coord) {
         switch ($coord) {
             case '^':
                 $y++;
                 break;
             case '>':
                 $x++;
                 break;
             case 'v':
                 $y--;
                 break;
             case '<':
                 $x--;
                 break;
         }
         if (isset($map[$x][$y])) {
             $map[$x][$y]++;
         } else {
             $map[$x][$y] = 1;
             $houses++;
         }
     }
     echo $houses;
 }
Exemple #2
0
 public function solve()
 {
     $input_string = Helpers::getStringInputForDay(1);
     $input_array = str_split($input_string);
     $floor = 0;
     foreach ($input_array as $char) {
         switch ($char) {
             case '(':
                 $floor++;
                 break;
             case ')':
                 $floor--;
                 break;
         }
     }
     echo $floor;
 }
Exemple #3
0
 public function solve()
 {
     $input_string = Helpers::getStringInputForDay(1);
     $input_array = str_split($input_string);
     $floor = 0;
     foreach ($input_array as $position => $char) {
         switch ($char) {
             case '(':
                 $floor++;
                 break;
             case ')':
                 $floor--;
                 break;
         }
         if ($floor == -1) {
             echo $position + 1;
             return;
         }
     }
 }
Exemple #4
0
 public function solve()
 {
     $input_string = Helpers::getStringInputForDay(3);
     $input_array = str_split($input_string);
     $map = [];
     $x = 0;
     $y = 0;
     $a = 0;
     $b = 0;
     $map[$x][$y] = 1;
     $map[$a][$b]++;
     $houses = 1;
     $array_length = count($input_array);
     for ($i = 0; $i < $array_length; $i++) {
         switch ($input_array[$i]) {
             case '^':
                 if ($i % 2 == 0) {
                     $b++;
                 } else {
                     $y++;
                 }
                 break;
             case '>':
                 if ($i % 2 == 0) {
                     $a++;
                 } else {
                     $x++;
                 }
                 break;
             case 'v':
                 if ($i % 2 == 0) {
                     $b--;
                 } else {
                     $y--;
                 }
                 break;
             case '<':
                 if ($i % 2 == 0) {
                     $a--;
                 } else {
                     $x--;
                 }
                 break;
         }
         if ($i % 2 == 0) {
             if (isset($map[$a][$b])) {
                 $map[$a][$b]++;
             } else {
                 $map[$a][$b] = 1;
                 $houses++;
             }
         } else {
             if (isset($map[$x][$y])) {
                 $map[$x][$y]++;
             } else {
                 $map[$x][$y] = 1;
                 $houses++;
             }
         }
     }
     echo $houses;
 }