4

Advent of Code 2023: Day 2: Cube Conundrum

Серия Advent of Code

Страшный, длинный, мучительный парсинг ввода…
Хотелось бы, конечно, иметь возможность сделать по-перловому, что-то типа:

echo -e "Game 1: 3 blue, 4 red; 1 red, 2 green, 6 blue; 2 green\nGame 2: 1 blue, 2 green; 3 green, 4 blue, 1 red; 1 green, 1 blue" | perl -wlne '@Matches = $_ =~ /(?:\G(?!\A)|^Game) (\S+)/g; print join("=",@Matches)'

Немного почистить после, или сразу докрутить регулярку, чтобы не захватывала разделители. Сложить в хэш. И закончить кучей циклов в итоге 🙁

С другой стороны – и возня с java Matcher не вдохновляла, и описывать структуру в виде POJO – для чисто скриптового решения – зачем.

split – дёшево и сердито, fastpath бонусом. К счастью – ввод был одинаков для обеих частей загадки.

<a href="https://d.pikabu.ru/story/advent_of_code_2023_day_2_cube_conundrum_10910950?u=https%3A%2F%2Fdimio.github.io%2Fdopaste%2F%3Fl%3Djava%23XQAAAQA3CwAAAAAAAAAX4HyIbzm%2FILQXejs0%2BpjEkM1O3vUmgafcspCHlYF0CGMN87UuPGqHph658%2FgH7eCljoLMVObmopBqMVRx6aYZSzYtEPpRoujOoZDq4REpPfuqxguzz5wmxZ0KIRQcKbtNcSAmivHekJ1Oq1hF8Rwyj2xKlbNfo8KvHh1kc%2BziPk2kUmnUeMnCwpGKcaYyPiRY980hBCoOBMJXxVaGNLBxNr44GeYM9Ip8USQhGOSlL8T6Eq5PLglcXZuWIQ9lMzBpA2dg8M%2F0UcL9lpqn10g9aTtyqISSiHzZbOYRMw3bHsIzVm2eYO5TQ1TL1E49dM6xiYjX8CS2LTCUBu%2FJ0bd%2BUmpPZBOQC6PyOcWbKJW2pAPw8NNCpJGdlpo7uO1IO7MhWxgIthLmFr1CZatNb2xhVNB5cPihxPq24QlwZv9HdtJmze%2BoNjGqExbEuREoo2FQKsIQpwCxRRjJO%2BC9dh2OT0CVXbSQsqGFAWMHHJHoarJwsg1gG4fRf3Txz%2BYSRPl%2BdXXMy9LgrDZ6c5%2FVyWAFSTcIwio8ig9BtlV7g5RZReoaGK0S6ej%2FALNiOoIgLmbjNs2c8oq0SwJv5Vdk%2FzzZlmtEhcwISa4H%2FxuIOXDbyUpPeP1NrZPezxGeLs3AjqpvQVjpwahrhJKUaCmoM523Xw%2FFv2MF2MWe2qxHq7qnD9vqQZQqhttjROKn0JFqM4NRTOig3d6f3gi5%2Byz6SM8dEjlkNRnq7fZsSjaCcyn%2F3N10PzirySpceSmfroPphqv%2FII96kogXOwm4WUoNq312atWvF5VDrcZWaqjbaog4j7UBKsrUVNnpNLav14R9Wgl1VQVhmHOdO%2BjoEIkvrEo5jZK5kJYihLC5mominHh87SIW4qokuOkqE55tb%2FAkwmQVBDpSObsTHiGPVicRxen7%2B7i8tZZJdl1m9WAo9ywBiX88ybioKQ1wPyrlqFGsXT983FEdTLSvIb%2BO8b6yd%2F8A0Z9O4C6KbNEeAxdsdRNqWoeOOvP9skANC36wK7z8Hmk3h8DGTx2dL37p4U2i%2B3eQLEQilIVOBt0MwLG73JiIGojuuctxwT1J1PY2gD%2BBOTxZpP2O3HBaefTOPxIeeK5tngOz%2FqVkORvApf0Xq7D5opdj7KsAr6F0vz%2B6DxF7g3JaA%2Btt4j4oJ1NfYKxECspaaz50Rl%2F3Y0QDmu%2FN9oLSv25PB886PGjPae8fPOP%2FS43OVvsd%2FPm4jhyQJ8VQ3MSy2wchPeHfqgpFeYSxkd5zLLjROcoGKDUJfj4V28z2RI8Sl3K11Hv%2FwAZXcA%3D%3D&t=%D0%A0%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%BE%D0%BC&h=75a90db9c2b6d4d691deb6fdeb96b618de632ad3" title="https://dimio.github.io/dopaste/?l=java#XQAAAQA3CwAAAAAAAAAX4HyIbzm/ILQXejs0+pjEkM1O3vUmgafcspCHlYF0..." target="_blank" rel="nofollow noopener">Решение текстом</a>

Решение текстом

Вид этой портянки мне не особо мил, особенно for внутри (mapMulti взамен?). Но и как-то значимо “облагородить” её не удалось с ходу – получалась куча менее понятных map, происходящее в которых сложно осознать уже через пару десятков минут.
А часики тикают, задачи требуют решений – и пора двигаться дальше!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества