1
0
Fork 0
This commit is contained in:
Jonathan Chan 2020-12-10 00:03:11 -08:00 committed by Jonathan Chan
parent 1b065d7cce
commit 38209a6ce6
2 changed files with 116 additions and 0 deletions

92
input/10.txt Normal file
View File

@ -0,0 +1,92 @@
47
61
131
15
98
123
32
6
137
111
25
28
107
20
99
36
2
97
88
124
138
75
112
52
122
78
46
110
41
64
63
16
93
104
105
91
27
45
119
14
1
65
62
118
37
79
77
19
71
35
130
69
5
44
9
48
125
136
103
140
53
126
106
55
129
139
87
68
21
85
76
31
113
12
100
24
96
82
13
70
72
86
26
117
58
132
114
40
54
133
51
92

24
src/10.rkt Normal file
View File

@ -0,0 +1,24 @@
#lang curly-fn racket
(require "../lib.rkt")
(define input (sort (map string->number (problem-input 10)) <=))
(define part1
(let* ([input (cons 0 input)]
[diffs (for/list ([i (rest input)] [j input]) (- i j))]
[ones (count #{= % 1} diffs)]
[threes (add1 (count #{= % 3} diffs))])
(* ones threes)))
(define arrangements
(for*/fold ([arrs (hash 0 1)])
([joltage input]
[i (range 1 4)])
(let ([prev (hash-ref arrs (- joltage i) 0)])
(hash-update arrs joltage #{+ % prev} 0))))
(define part2
(hash-ref arrangements (last input)))
(show-solution part1 part2)