aboutsummaryrefslogtreecommitdiff
path: root/advent-of-code/2022/02
diff options
context:
space:
mode:
Diffstat (limited to 'advent-of-code/2022/02')
-rw-r--r--advent-of-code/2022/02/1.rkt34
-rw-r--r--advent-of-code/2022/02/2.rkt60
2 files changed, 47 insertions, 47 deletions
diff --git a/advent-of-code/2022/02/1.rkt b/advent-of-code/2022/02/1.rkt
index 35c5a5c..5114c9c 100644
--- a/advent-of-code/2022/02/1.rkt
+++ b/advent-of-code/2022/02/1.rkt
@@ -3,26 +3,26 @@
(require "../../lib/utils.rkt")
(define lines
- (call-with-input-file "input"
- (lambda (fp) (get-lines fp))))
+ (call-with-input-file "input"
+ (λ (fp) (get-lines fp))))
(define games (map string-split lines))
(define (score game)
- (define (base-score mine)
- (cond ((string=? "X" mine) 1)
- ((string=? "Y" mine) 2)
- ((string=? "Z" mine) 3)))
- (define (win-score mine oppo)
- (cond ((string=? "X" mine) (cond ((string=? "A" oppo) 3)
- ((string=? "B" oppo) 0)
- ((string=? "C" oppo) 6)))
- ((string=? "Y" mine) (cond ((string=? "A" oppo) 6)
- ((string=? "B" oppo) 3)
- ((string=? "C" oppo) 0)))
- ((string=? "Z" mine) (cond ((string=? "A" oppo) 0)
- ((string=? "B" oppo) 6)
- ((string=? "C" oppo) 3)))))
- (+ (base-score (cadr game)) (win-score (cadr game) (car game))))
+ (define (base-score mine)
+ (cond ((string=? "X" mine) 1)
+ ((string=? "Y" mine) 2)
+ ((string=? "Z" mine) 3)))
+ (define (win-score mine oppo)
+ (cond ((string=? "X" mine) (cond ((string=? "A" oppo) 3)
+ ((string=? "B" oppo) 0)
+ ((string=? "C" oppo) 6)))
+ ((string=? "Y" mine) (cond ((string=? "A" oppo) 6)
+ ((string=? "B" oppo) 3)
+ ((string=? "C" oppo) 0)))
+ ((string=? "Z" mine) (cond ((string=? "A" oppo) 0)
+ ((string=? "B" oppo) 6)
+ ((string=? "C" oppo) 3)))))
+ (+ (base-score (cadr game)) (win-score (cadr game) (car game))))
(apply + (map score games)) \ No newline at end of file
diff --git a/advent-of-code/2022/02/2.rkt b/advent-of-code/2022/02/2.rkt
index 4b0dd02..608d8aa 100644
--- a/advent-of-code/2022/02/2.rkt
+++ b/advent-of-code/2022/02/2.rkt
@@ -3,43 +3,43 @@
(require "../../lib/utils.rkt")
(define lines
- (call-with-input-file "input"
- (lambda (fp) (get-lines fp))))
+ (call-with-input-file "input"
+ (λ (fp) (get-lines fp))))
(define games (map string-split lines))
(define (transform-cheat mine oppo)
- (cond ((string=? "X" mine) (cond ((string=? "A" oppo) "Z")
- ((string=? "B" oppo) "X")
- ((string=? "C" oppo) "Y")))
- ((string=? "Y" mine) (cond ((string=? "A" oppo) "X")
- ((string=? "B" oppo) "Y")
- ((string=? "C" oppo) "Z")))
- ((string=? "Z" mine) (cond ((string=? "A" oppo) "Y")
- ((string=? "B" oppo) "Z")
- ((string=? "C" oppo) "X")))))
+ (cond ((string=? "X" mine) (cond ((string=? "A" oppo) "Z")
+ ((string=? "B" oppo) "X")
+ ((string=? "C" oppo) "Y")))
+ ((string=? "Y" mine) (cond ((string=? "A" oppo) "X")
+ ((string=? "B" oppo) "Y")
+ ((string=? "C" oppo) "Z")))
+ ((string=? "Z" mine) (cond ((string=? "A" oppo) "Y")
+ ((string=? "B" oppo) "Z")
+ ((string=? "C" oppo) "X")))))
(set! games
- (map
- (lambda (x)
- (list (car x) (transform-cheat (cadr x) (car x))))
- games))
+ (map
+ (λ (x)
+ (list (car x) (transform-cheat (cadr x) (car x))))
+ games))
(define (score game)
- (define (base-score mine)
- (cond ((string=? "X" mine) 1)
- ((string=? "Y" mine) 2)
- ((string=? "Z" mine) 3)))
- (define (win-score mine oppo)
- (cond ((string=? "X" mine) (cond ((string=? "A" oppo) 3)
- ((string=? "B" oppo) 0)
- ((string=? "C" oppo) 6)))
- ((string=? "Y" mine) (cond ((string=? "A" oppo) 6)
- ((string=? "B" oppo) 3)
- ((string=? "C" oppo) 0)))
- ((string=? "Z" mine) (cond ((string=? "A" oppo) 0)
- ((string=? "B" oppo) 6)
- ((string=? "C" oppo) 3)))))
- (+ (base-score (cadr game)) (win-score (cadr game) (car game))))
+ (define (base-score mine)
+ (cond ((string=? "X" mine) 1)
+ ((string=? "Y" mine) 2)
+ ((string=? "Z" mine) 3)))
+ (define (win-score mine oppo)
+ (cond ((string=? "X" mine) (cond ((string=? "A" oppo) 3)
+ ((string=? "B" oppo) 0)
+ ((string=? "C" oppo) 6)))
+ ((string=? "Y" mine) (cond ((string=? "A" oppo) 6)
+ ((string=? "B" oppo) 3)
+ ((string=? "C" oppo) 0)))
+ ((string=? "Z" mine) (cond ((string=? "A" oppo) 0)
+ ((string=? "B" oppo) 6)
+ ((string=? "C" oppo) 3)))))
+ (+ (base-score (cadr game)) (win-score (cadr game) (car game))))
(apply + (map score games)) \ No newline at end of file