Skip to content

Instantly share code, notes, and snippets.

View stuartstein777's full-sized avatar

Stuart Stein stuartstein777

View GitHub Profile
@stuartstein777
stuartstein777 / secret-string.clj
Last active January 30, 2020 19:46
secret-string solution
;; 1. Get each of the characters from the triplet as keys to a hash-map
;; 2. The values are the characters before the key character in the secret string.
;; 3. Find the key which has no values.
;; 4. Add that character to the final string
;; 5. Remove it from the hash-map, and all instances of it from the map values.
;; 6. Goto 3
;; 7. Once hash-map has no keys left. We are done!
(ns codewars.puzzle-strings
(:require [clojure.set :as set]
@stuartstein777
stuartstein777 / day3.clj
Created December 3, 2020 16:15
advent-of-code-2020-day3
(defn is-tree [x i]
(= \# (nth i (mod x (count i)))))
(let [input (->> (slurp "input.txt")
(str/split-lines))
x-step 7
y-step 1]
(->> (take-nth y-step input)
(map is-tree (iterate #(+ x-step %) 0))
(filter true?)
@stuartstein777
stuartstein777 / aoc2020day4.clj
Last active December 4, 2020 14:36
aoc 2020 - day 4
;; -------------------------- part 1
(defn valid? [passport]
(let [required-fields [:hgt :byr :eyr :ecl :iyr :pid :hcl]]
(every? #(passport %) required-fields)))
;; -------------------------- part 2
(defn valid-year [min max byr]
(and byr (= 4 (count byr)) (re-matches #"\d+" byr) (<= min (Integer/parseInt byr) max)))
(defn valid-height [height]
@stuartstein777
stuartstein777 / aoc2020day2.clj
Created December 4, 2020 15:57
aoc2020-day2
;; part 1
(defn valid? [{:keys [min max c pwd]}]
(<= min ((frequencies pwd) c 0) max))
;; part 2
(defn xor [a b]
(or (and a (not b))
(and b (not a))))
@stuartstein777
stuartstein777 / aoc2020day9part2.clj
Created December 9, 2020 20:09
aoc 2020 day 9 part 2
(defn parse-input []
(->> (slurp "puzzle-inputs/2020/day9")
(str/split-lines)
(map #(Long/parseLong %))))
(defn reduce-window [part]
(let [min (apply min part)
max (apply max part)]
[(+ min max) (reduce + 0 part)]))
@stuartstein777
stuartstein777 / remove keys
Last active February 10, 2021 16:18
remove keys
(defn remove-keys [m keys]
(if (seq keys)
(recur (dissoc m (first keys)) (rest keys))
m))
(let [test-img-map {:row1-col1 0
:row1-col2 0
:row1-col3 0
:row2-col1 0
:row2-col2 0
@stuartstein777
stuartstein777 / sieve.clj
Created February 24, 2021 21:19
sieve of erastothanes
;; slow :(
(defn sieve-primes [upper]
(let [xs (->> (range 1 (inc upper))
(set))]
(sort (reduce #(if (or (= 1 %2) (not (%1 %2)))
%1
(let [multiples (range (* 2 %2) (inc upper) %2)]
(set/difference %1 multiples))) xs (range 1 (Math/sqrt (inc upper)))))))
Saw this call
```
dbs.Add(new Database("OnCallQueue", 666, 80, "online", "full"));
```
And thought that Database constructor signature would be something like
```
(string, int, int, string, string)
``
(ns exfn.app
(:require [reagent.dom :as dom]
[reagent.core :as reagent]
[re-frame.core :as rf]
[goog.string :as gstring]
[goog.string.format]
[clojure.string :as string]))
(comment
(str "DEV NOTE.
(ns exfn.app
(:require [reagent.dom :as dom]
[re-frame.core :as rf]))
;;-- Events and Effects --------------------------------------------------------------------------
(rf/reg-event-db
:initialize
(fn [_ _]
{:points []}))