aboutsummaryrefslogtreecommitdiff
path: root/advent-of-code/2022/02/2.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'advent-of-code/2022/02/2.rkt')
-rw-r--r--advent-of-code/2022/02/2.rkt45
1 files changed, 0 insertions, 45 deletions
diff --git a/advent-of-code/2022/02/2.rkt b/advent-of-code/2022/02/2.rkt
deleted file mode 100644
index 608d8aa..0000000
--- a/advent-of-code/2022/02/2.rkt
+++ /dev/null
@@ -1,45 +0,0 @@
-#lang racket
-
-(require "../../lib/utils.rkt")
-
-(define lines
- (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")))))
-
-(set! 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))))
-
-(apply + (map score games)) \ No newline at end of file