你好!如果这是错误论坛开始这样的帖子,那么我很抱歉,但我是 Clojure/lisp 的初学者,这次我想利用今年的Advent of Code (2022)的机会挑战自己学习
所以我开始了第1天,并解决了问题(实质上是,给定一个由空格分开的数字列表,找到其中的最大和),但看起来这种方法在 Clojure 中处理问题并不是最优雅的。
例如,以下结果的答案是 300
10
20
100
200
我的解决方案如下,我主要想知道
- 作为初学者,我对问题的这种处理方法是否合理,我错过了什么才能更优雅。
- 如何格式化这样的行?
(以下有剧透,如果有人对挑战感兴趣的话)
(require '[clojure.string :as str])
(reduce max (map (fn [x] (reduce + (map #(Integer/parseInt %) (str/split x #"\n")))) (str/split (slurp "./input-1.txt") #"\n\n")))
我希望,只要时间允许,在这个月内继续这段旅程,希望我在挑战变得更加复杂时,尤其是对于我熟悉的编程语言来说,能够继续前进,但我已经可以说,REPL 真是一样美妙的东西。