aboutsummaryrefslogtreecommitdiff
path: root/challenge-256
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2024-02-15 19:30:30 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2024-02-15 19:30:30 +0000
commitb4722f365b56ebb8a01ce4d4b136f16d26698cd6 (patch)
tree671e1e5ccf8398e3fe50c8b906d5273c8a13d3dc /challenge-256
parentba0f5eb3f7a05d585395604ed817a77f79e311af (diff)
downloadperlweeklychallenge-club-b4722f365b56ebb8a01ce4d4b136f16d26698cd6.tar.gz
perlweeklychallenge-club-b4722f365b56ebb8a01ce4d4b136f16d26698cd6.tar.bz2
perlweeklychallenge-club-b4722f365b56ebb8a01ce4d4b136f16d26698cd6.zip
- Added solutions by Luca Ferrari.
- Added solutions by Athanasius. - Added solutions by Laurent Rosenfeld. - Added solutions by Mohammad Meraj Zia.
Diffstat (limited to 'challenge-256')
-rw-r--r--challenge-256/laurent-rosenfeld/blog1.txt1
-rw-r--r--challenge-256/laurent-rosenfeld/perl/ch-2.pl19
-rw-r--r--challenge-256/laurent-rosenfeld/raku/ch-2.raku10
-rw-r--r--challenge-256/luca-ferrari/python/ch-1.py (renamed from challenge-256/luca-ferrari/python/ch-1.python)0
-rw-r--r--challenge-256/luca-ferrari/python/ch-2.py (renamed from challenge-256/luca-ferrari/python/ch-2.python)0
-rw-r--r--challenge-256/ziameraj16/java/MergeStrings.java25
6 files changed, 55 insertions, 0 deletions
diff --git a/challenge-256/laurent-rosenfeld/blog1.txt b/challenge-256/laurent-rosenfeld/blog1.txt
new file mode 100644
index 0000000000..cf22e40ff3
--- /dev/null
+++ b/challenge-256/laurent-rosenfeld/blog1.txt
@@ -0,0 +1 @@
+https://blogs.perl.org/users/laurent_r/2024/02/perl-weekly-challenge-256-merge-strings.html
diff --git a/challenge-256/laurent-rosenfeld/perl/ch-2.pl b/challenge-256/laurent-rosenfeld/perl/ch-2.pl
new file mode 100644
index 0000000000..f9831a9944
--- /dev/null
+++ b/challenge-256/laurent-rosenfeld/perl/ch-2.pl
@@ -0,0 +1,19 @@
+use strict;
+use warnings;
+use feature 'say';
+
+sub merge_strings {
+ my ($str1, $str2) = @_;
+ my @let1 = split //, $str1;
+ my @let2 = split //, $str2;
+ my $end = scalar @let1 > scalar @let2 ? $#let1 : $#let2;
+ my @result = map { ($let1[$_] // "") .
+ ($let2[$_] // "") } 0..$end;
+ return join "", @result;
+}
+
+my @tests = ([<abcd 1234>], [<abc 12345>], [<abcde 123>]);
+for my $test (@tests) {
+ printf "%-12s => ", "@$test";
+ say merge_strings $test->[0], $test->[1];
+}
diff --git a/challenge-256/laurent-rosenfeld/raku/ch-2.raku b/challenge-256/laurent-rosenfeld/raku/ch-2.raku
new file mode 100644
index 0000000000..c23ea84405
--- /dev/null
+++ b/challenge-256/laurent-rosenfeld/raku/ch-2.raku
@@ -0,0 +1,10 @@
+sub merge-strings ($str1, $str2) {
+ my $res = join "", roundrobin $str1.comb, $str2.comb, :slip;
+ return $res;
+}
+
+my @tests = <abcd 1234>, <abc 12345>, <abcde 123>;
+for @tests -> @test {
+ printf "%-12s => ", "@test[]";
+ say merge-strings @test[0], @test[1];
+}
diff --git a/challenge-256/luca-ferrari/python/ch-1.python b/challenge-256/luca-ferrari/python/ch-1.py
index e8456319db..e8456319db 100644
--- a/challenge-256/luca-ferrari/python/ch-1.python
+++ b/challenge-256/luca-ferrari/python/ch-1.py
diff --git a/challenge-256/luca-ferrari/python/ch-2.python b/challenge-256/luca-ferrari/python/ch-2.py
index abf9af51de..abf9af51de 100644
--- a/challenge-256/luca-ferrari/python/ch-2.python
+++ b/challenge-256/luca-ferrari/python/ch-2.py
diff --git a/challenge-256/ziameraj16/java/MergeStrings.java b/challenge-256/ziameraj16/java/MergeStrings.java
new file mode 100644
index 0000000000..446ff9dc96
--- /dev/null
+++ b/challenge-256/ziameraj16/java/MergeStrings.java
@@ -0,0 +1,25 @@
+import java.util.*;
+
+public class MergeStrings {
+
+ public static void main(String[] args) {
+ Scanner scanner = new Scanner(System.in);
+ System.out.println("Enter first string");
+ String first = scanner.nextLine();
+ System.out.println("Enter second string");
+ String second = scanner.nextLine();
+ StringBuilder sb = new StringBuilder();
+ int i = 0;
+ while (i < first.length() && i < second.length()) {
+ sb.append(first.charAt(i));
+ sb.append(second.charAt(i));
+ i++;
+ }
+ if (first.length() > second.length()) {
+ sb.append(first.substring(i));
+ } else if (second.length() > first.length()) {
+ sb.append(second.substring(i));
+ }
+ System.out.println(sb);
+ }
+}