diff options
| author | Márton Polgár <37218286+2colours@users.noreply.github.com> | 2025-11-16 21:36:09 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-16 21:36:09 +0100 |
| commit | ef8a66a2f5474ad2e433c3b7f6fccbde2e6edc3c (patch) | |
| tree | 7efe1fc10ccc6bbb953d2b62e749e3dbcc465224 | |
| parent | 2a1aee29adafce58080a4af004c5812b735ed304 (diff) | |
| download | perlweeklychallenge-club-ef8a66a2f5474ad2e433c3b7f6fccbde2e6edc3c.tar.gz perlweeklychallenge-club-ef8a66a2f5474ad2e433c3b7f6fccbde2e6edc3c.tar.bz2 perlweeklychallenge-club-ef8a66a2f5474ad2e433c3b7f6fccbde2e6edc3c.zip | |
Add files via upload
| -rw-r--r-- | challenge-347/2colours/prolog/ch-2.p | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/challenge-347/2colours/prolog/ch-2.p b/challenge-347/2colours/prolog/ch-2.p new file mode 100644 index 0000000000..a5bc91ba35 --- /dev/null +++ b/challenge-347/2colours/prolog/ch-2.p @@ -0,0 +1,12 @@ +:- use_module(library(dcg/basics)). +:- use_module(library(dcg/high_order)). +:- use_module(library(clpfd)). + +chunk(Chunk) --> { length(Chunk, 3) ; length(Chunk, 2) }, string(Chunk). + +task(Str, Result) :- + re_replace("[ -]"/g, "", Str, Str_Stripped), + string_codes(Str_Stripped, Codes_Stripped), + once(phrase(sequence(chunk, Chunks), Codes_Stripped)), + phrase(sequence(chunk, `-`, Chunks), Result_Codes), + string_codes(Result, Result_Codes). |
