diff --git a/wordle.jl b/wordle.jl index 5b3c1bd..b51528e 100644 --- a/wordle.jl +++ b/wordle.jl @@ -5,8 +5,11 @@ function check_known(word, knowns) return true end - for (v, k) in knowns - if word[k] == v + for (k, v) in knowns + if v == '.' + continue + end + if word[k] == only(v) continue else return false @@ -36,20 +39,19 @@ end # ARISE 3.47 # SERAI 3.52 -banned = ["w", "e", "u", "s", "k", "m", "d"] -contained = ["a", "l", "b"] -knowns = [('a', 2), ('b', 1)] +begin + banned = "pnisrblwgyox" |> collect + contained = "t" |> collect + knowns = "de..." |> collect |> enumerate -for word in words - if any(occursin.(banned, word)) - continue - end - if all(occursin.(contained, word)) - if ~isempty(known) + for word in words + if any(occursin.(banned, word)) + continue + end + if all(occursin.(contained, word)) if check_known(word, knowns) println(word) end end end end -