aboutsummaryrefslogtreecommitdiff
path: root/challenge-224/barroff/awk
diff options
context:
space:
mode:
authorBarrOff <58253563+BarrOff@users.noreply.github.com>2023-07-09 22:58:30 +0200
committerBarrOff <58253563+BarrOff@users.noreply.github.com>2023-07-09 22:58:30 +0200
commit5870b6c9e481c29080777214deca8a79833609f6 (patch)
treebf8c151dce756660515cf7bb381a5b90470cd17e /challenge-224/barroff/awk
parentbb56db19a6d825b862aecbd16012f52eb017fc4f (diff)
downloadperlweeklychallenge-club-5870b6c9e481c29080777214deca8a79833609f6.tar.gz
perlweeklychallenge-club-5870b6c9e481c29080777214deca8a79833609f6.tar.bz2
perlweeklychallenge-club-5870b6c9e481c29080777214deca8a79833609f6.zip
feat: add solutions for challenge 224 from BarrOff
Diffstat (limited to 'challenge-224/barroff/awk')
-rw-r--r--challenge-224/barroff/awk/ch-1.awk36
1 files changed, 36 insertions, 0 deletions
diff --git a/challenge-224/barroff/awk/ch-1.awk b/challenge-224/barroff/awk/ch-1.awk
new file mode 100644
index 0000000000..04a2ebcd4c
--- /dev/null
+++ b/challenge-224/barroff/awk/ch-1.awk
@@ -0,0 +1,36 @@
+#!/usr/bin/env awk
+
+function special_notes(source, target) {
+ split(source, source_split, //);
+ split(target, target_split, //);
+ for (i in source_split) {
+ source_dict[source_split[i]]++;
+ }
+ for (i in target_split) {
+ target_dict[target_split[i]]++;
+ }
+ for (i in target_dict) {
+ if (source_dict[i] < target_dict[i]) {
+ delete source_split;
+ delete source_dict;
+ delete target_split;
+ delete target_dict;
+ return 0;
+ }
+ }
+ return 1;
+}
+
+function works_for(source, target, success) {
+ if (success) {
+ print "Works for source = " source ", and target = " target;
+ } else {
+ print "Does not work for source = " source ", and target = " target;
+ }
+}
+
+END {
+ works_for("abc", "xyz", !special_notes("abc", "xyz"));
+ works_for("scriptinglanguage", "perl", special_notes("scriptinglanguage", "perl"));
+ works_for("aabbcc", "abc", special_notes("aabbcc", "abc"));
+}