diff options
| -rw-r--r-- | challenge-262/2colours/php/ch-1.php | 7 | ||||
| -rw-r--r-- | challenge-262/2colours/php/ch-2.php | 16 |
2 files changed, 23 insertions, 0 deletions
diff --git a/challenge-262/2colours/php/ch-1.php b/challenge-262/2colours/php/ch-1.php new file mode 100644 index 0000000000..c714bc2363 --- /dev/null +++ b/challenge-262/2colours/php/ch-1.php @@ -0,0 +1,7 @@ +<?php + +const PARENS = ['(', ')']; +const SQUARE_BRACKETS = ['[', ']']; +echo '@ints = '; +$ints = json_decode(str_replace(PARENS, SQUARE_BRACKETS, fgets(STDIN))); +echo max(...array_map(fn ($pred) => count(array_filter($ints, $pred)), [fn ($x) => $x > 0, fn ($x) => $x < 0]));
\ No newline at end of file diff --git a/challenge-262/2colours/php/ch-2.php b/challenge-262/2colours/php/ch-2.php new file mode 100644 index 0000000000..bec9137694 --- /dev/null +++ b/challenge-262/2colours/php/ch-2.php @@ -0,0 +1,16 @@ +<?php + +const PARENS = ['(', ')']; +const SQUARE_BRACKETS = ['[', ']']; +echo '@ints = '; +$ints = json_decode(str_replace(PARENS, SQUARE_BRACKETS, fgets(STDIN))); +echo '$k = '; +$k = fgets(STDIN); +$result = 0; +foreach ($ints as $index => $value) { + $needed_factor = intdiv($k, gmp_intval(gmp_gcd($index, $k))); + $next_valid = ceil(($index + 1) / $needed_factor) * $needed_factor; + $values_to_check = array_column(array_chunk(array_slice($ints, $next_valid), $needed_factor), 0); + $result += @array_count_values($values_to_check)[$value]; +} +echo $result;
\ No newline at end of file |
