aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-07-15 10:44:08 +0100
committerGitHub <noreply@github.com>2025-07-15 10:44:08 +0100
commit0889b4dc9a263f973986e0a6711676ce2d177b0a (patch)
tree0af8c588858a6d4fa7a3c8b9470b2a1886a8ff11
parent76d54850758291f7e04ba5c015a45955161a817c (diff)
parentc7e76c59af220081c5321392b4a1a79881132507 (diff)
downloadperlweeklychallenge-club-0889b4dc9a263f973986e0a6711676ce2d177b0a.tar.gz
perlweeklychallenge-club-0889b4dc9a263f973986e0a6711676ce2d177b0a.tar.bz2
perlweeklychallenge-club-0889b4dc9a263f973986e0a6711676ce2d177b0a.zip
Merge pull request #12343 from deadmarshal/TWC330
TWC330
-rw-r--r--challenge-330/deadmarshal/blog.txt1
-rw-r--r--challenge-330/deadmarshal/erlang/ch1.erl13
-rw-r--r--challenge-330/deadmarshal/erlang/ch2.erl10
-rw-r--r--challenge-330/deadmarshal/java/Ch1.java17
-rw-r--r--challenge-330/deadmarshal/java/Ch2.java17
-rw-r--r--challenge-330/deadmarshal/perl/ch-1.pl14
-rw-r--r--challenge-330/deadmarshal/perl/ch-2.pl12
-rw-r--r--challenge-330/deadmarshal/python/ch1.py14
-rw-r--r--challenge-330/deadmarshal/python/ch2.py16
9 files changed, 114 insertions, 0 deletions
diff --git a/challenge-330/deadmarshal/blog.txt b/challenge-330/deadmarshal/blog.txt
new file mode 100644
index 0000000000..1960ede8ed
--- /dev/null
+++ b/challenge-330/deadmarshal/blog.txt
@@ -0,0 +1 @@
+https://deadmarshal.blogspot.com/2025/07/twc330.html
diff --git a/challenge-330/deadmarshal/erlang/ch1.erl b/challenge-330/deadmarshal/erlang/ch1.erl
new file mode 100644
index 0000000000..094c646847
--- /dev/null
+++ b/challenge-330/deadmarshal/erlang/ch1.erl
@@ -0,0 +1,13 @@
+-module(ch1).
+-export([clear_digits/1]).
+
+clear_digits(S) ->
+ Regex = "\\D\\d",
+ case re:run(S,Regex) of
+ {match,_} -> case re:replace(S,Regex,"",[{return,list}]) of
+ "" -> "";
+ NewString -> clear_digits(NewString)
+ end;
+ nomatch -> S
+ end.
+
diff --git a/challenge-330/deadmarshal/erlang/ch2.erl b/challenge-330/deadmarshal/erlang/ch2.erl
new file mode 100644
index 0000000000..ee0924c922
--- /dev/null
+++ b/challenge-330/deadmarshal/erlang/ch2.erl
@@ -0,0 +1,10 @@
+-module(ch2).
+-export([title_capital/1]).
+
+title_capital(S) ->
+ Words = string:tokens(S, " "),
+ CW = lists:map(fun(W) when length(W) < 3 -> string:lowercase(W);
+ (W) -> string:titlecase(string:lowercase(W))
+ end,Words),
+ lists:flatten(lists:join(" ",CW)).
+
diff --git a/challenge-330/deadmarshal/java/Ch1.java b/challenge-330/deadmarshal/java/Ch1.java
new file mode 100644
index 0000000000..3a5748b899
--- /dev/null
+++ b/challenge-330/deadmarshal/java/Ch1.java
@@ -0,0 +1,17 @@
+public class Ch1 {
+ public static void main(String[] args) {
+ System.out.println(clear_digits("cab12"));
+ System.out.println(clear_digits("xy99"));
+ System.out.println(clear_digits("pa1erl"));
+ }
+
+ private static String clear_digits(String str) {
+ String prev = str;
+ do {
+ prev = str;
+ str = str.replaceAll("\\D\\d", "");
+ } while (!str.equals(prev));
+ return str;
+ }
+}
+
diff --git a/challenge-330/deadmarshal/java/Ch2.java b/challenge-330/deadmarshal/java/Ch2.java
new file mode 100644
index 0000000000..21b88887c7
--- /dev/null
+++ b/challenge-330/deadmarshal/java/Ch2.java
@@ -0,0 +1,17 @@
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
+public class Ch2 {
+ public static void main(String[] args) {
+ System.out.println(title_capital("PERL IS gREAT"));
+ System.out.println(title_capital("THE weekly challenge"));
+ System.out.println(title_capital("YoU ARE A stAR"));
+ }
+
+ private static String title_capital(String str) {
+ return Arrays.stream(str.split(" "))
+ .map(w -> w.length() < 3 ? w.toLowerCase()
+ : w.substring(0, 1).toUpperCase() + w.substring(1).toLowerCase())
+ .collect(Collectors.joining(" "));
+ }
+}
diff --git a/challenge-330/deadmarshal/perl/ch-1.pl b/challenge-330/deadmarshal/perl/ch-1.pl
new file mode 100644
index 0000000000..397d40341d
--- /dev/null
+++ b/challenge-330/deadmarshal/perl/ch-1.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+sub clear_digits{
+ my ($str) = @_;
+ 1 while($str =~ s/\D\d//);
+ $str
+}
+
+printf "%s\n",clear_digits('cab12');
+printf "%s\n",clear_digits('xy99');
+printf "%s\n",clear_digits('pa1erl');
+
diff --git a/challenge-330/deadmarshal/perl/ch-2.pl b/challenge-330/deadmarshal/perl/ch-2.pl
new file mode 100644
index 0000000000..f3b87687b4
--- /dev/null
+++ b/challenge-330/deadmarshal/perl/ch-2.pl
@@ -0,0 +1,12 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+
+sub title_capital{
+ join ' ',map{length($_) < 3 ? lc : ucfirst lc} split ' ',$_[0];
+}
+
+printf "%s\n",title_capital('PERL IS gREAT');
+printf "%s\n",title_capital('THE weekly challenge');
+printf "%s\n",title_capital('YoU ARE A stAR');
+
diff --git a/challenge-330/deadmarshal/python/ch1.py b/challenge-330/deadmarshal/python/ch1.py
new file mode 100644
index 0000000000..a77b1d47b4
--- /dev/null
+++ b/challenge-330/deadmarshal/python/ch1.py
@@ -0,0 +1,14 @@
+#!/usr/bin/env python
+
+import re
+
+def clear_digits(s):
+ p = r'\D\d'
+ while re.search(p,s):
+ s = re.sub(p,'',s)
+ return s
+
+print(clear_digits('cab12'))
+print(clear_digits('xy99'))
+print(clear_digits('pa1erl'))
+
diff --git a/challenge-330/deadmarshal/python/ch2.py b/challenge-330/deadmarshal/python/ch2.py
new file mode 100644
index 0000000000..4e18e8df30
--- /dev/null
+++ b/challenge-330/deadmarshal/python/ch2.py
@@ -0,0 +1,16 @@
+#!/usr/bin/env python
+
+def title_capital(s):
+ words = s.split()
+ arr = []
+ for word in words:
+ if len(word) < 3:
+ arr.append(word.lower())
+ else:
+ arr.append(word.capitalize())
+ return ' '.join(arr)
+
+print(title_capital('PERL IS gREAT'))
+print(title_capital('THE weekly challenge'))
+print(title_capital('YoU ARE A stAR'))
+