aboutsummaryrefslogtreecommitdiff
path: root/racket/aoc2022/day-19/day-19.rkt
blob: 1400bf29daebc7aed8782240c39cc9d0069e80d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
#lang racket

(require advent-of-code
         threading)

(struct blueprint (id ore clay obsidian geode))

(define (parse-line str)
  (match (~> str (string-replace #px"[^\\d\\s]" "") string-split)
    [(list id ore clay obsidian-ore obsidian-clay geode-ore geode-obsidian)
     (blueprint id ore clay (cons obsidian-ore obsidian-clay) (cons geode-ore geode-obsidian))]))