aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-10-26 23:33:52 +0000
committerGitHub <noreply@github.com>2025-10-26 23:33:52 +0000
commit4f27f3721701f2a53855757578b012f2eda2c74f (patch)
tree12bd6791cc93f5ce9b62900981a16263fb3f5c0c
parent24e04a31f6094a5bc32dbfee2a4dc80cf8468d9a (diff)
parentbe9cb47d720992837252adf06cf80df7ad09c80d (diff)
downloadperlweeklychallenge-club-4f27f3721701f2a53855757578b012f2eda2c74f.tar.gz
perlweeklychallenge-club-4f27f3721701f2a53855757578b012f2eda2c74f.tar.bz2
perlweeklychallenge-club-4f27f3721701f2a53855757578b012f2eda2c74f.zip
Merge pull request #12924 from jaldhar/challenge-344
Challenge 344 by Jaldhar H. Vyas.
-rw-r--r--challenge-344/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-344/jaldhar-h-vyas/perl/ch-1.sh3
-rwxr-xr-xchallenge-344/jaldhar-h-vyas/perl/ch-2.pl48
-rwxr-xr-xchallenge-344/jaldhar-h-vyas/raku/ch-1.sh3
-rwxr-xr-xchallenge-344/jaldhar-h-vyas/raku/ch-2.raku20
5 files changed, 75 insertions, 0 deletions
diff --git a/challenge-344/jaldhar-h-vyas/blog.txt b/challenge-344/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..41630d982e
--- /dev/null
+++ b/challenge-344/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2025/10/perl_weekly_challenge_week_344.html
diff --git a/challenge-344/jaldhar-h-vyas/perl/ch-1.sh b/challenge-344/jaldhar-h-vyas/perl/ch-1.sh
new file mode 100755
index 0000000000..71975a62cc
--- /dev/null
+++ b/challenge-344/jaldhar-h-vyas/perl/ch-1.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+perl -E 'my $x=shift @ARGV;say q{(},(join q{, },(split //,($x+join q{}, @ARGV))),q{)}' "$@"
diff --git a/challenge-344/jaldhar-h-vyas/perl/ch-2.pl b/challenge-344/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..6ac716259c
--- /dev/null
+++ b/challenge-344/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,48 @@
+#!/usr/bin/perl
+use 5.038;
+use builtin qw/ true false /;
+use warnings;
+no warnings qw/ experimental::builtin /;
+
+sub permute(@arr) {
+ my @permutations;
+
+ if (scalar @arr eq 1) {
+ return (\@arr);
+ }
+
+ my @idx = keys @arr;
+ while ( push @permutations, [@arr[@idx]] ) {
+ my $p = scalar @idx - 1;
+ while ($idx[$p-1] >= $idx[$p]) {
+ --$p;
+ }
+ my $q = $p;
+ if (!$q) {
+ last;
+ }
+ push @idx, reverse splice @idx, $p;
+ while ($idx[$p-1] > $idx[$q]) {
+ ++$q;
+ }
+ @idx[$p-1,$q]=@idx[$q,$p-1];
+ }
+
+ return @permutations;
+}
+
+my @target = split /\s+/, shift;
+my @source = map { [split /\s+/] } @ARGV;
+
+my $trg = join q{}, @target;
+my $result = false;
+
+for my $p ( permute(@source) ) {
+ my $src = join q{}, map { join q{}, @$_ } @$p;
+ if ($src eq $trg) {
+ $result = true;
+ last;
+ }
+}
+
+say $result ? "True" : "False"; \ No newline at end of file
diff --git a/challenge-344/jaldhar-h-vyas/raku/ch-1.sh b/challenge-344/jaldhar-h-vyas/raku/ch-1.sh
new file mode 100755
index 0000000000..435527458e
--- /dev/null
+++ b/challenge-344/jaldhar-h-vyas/raku/ch-1.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+raku -e 'my $x=@*ARGS.shift;say q{(},($x+@*ARGS.join).comb.join(q{, }),q{)}' "$@"
diff --git a/challenge-344/jaldhar-h-vyas/raku/ch-2.raku b/challenge-344/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..34e5c6eb0d
--- /dev/null
+++ b/challenge-344/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ *@args
+) {
+ my @target = @args.shift.words;
+ my @source = @args.map({ [.words] });
+
+ my $trg = @target.join;
+ my $result = False;
+
+ for @source.permutations -> $src {
+ if (@$srcĀ».join).join eq $trg {
+ $result = True;
+ last;
+ }
+ }
+
+ say $result;
+}