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; }
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; }
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; } } }
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; }