aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCY Fung <fungcheokyin@gmail.com>2022-10-15 22:07:19 +0800
committerCY Fung <fungcheokyin@gmail.com>2022-10-15 22:07:19 +0800
commit938665aaeb7a7c84af9123254fed46077b1b69f8 (patch)
treeec030280ead9e27df01d5245af38d9e204bf1902
parent55e952e2376a3e7817e2846d2fa089cdc38b8836 (diff)
downloadperlweeklychallenge-club-938665aaeb7a7c84af9123254fed46077b1b69f8.tar.gz
perlweeklychallenge-club-938665aaeb7a7c84af9123254fed46077b1b69f8.tar.bz2
perlweeklychallenge-club-938665aaeb7a7c84af9123254fed46077b1b69f8.zip
Week 186 codes
-rw-r--r--challenge-186/cheok-yin-fung/java/UnicodeMakeover.java30
-rw-r--r--challenge-186/cheok-yin-fung/perl/ch-1.pl2
-rw-r--r--challenge-186/cheok-yin-fung/perl/ch-2.pl6
3 files changed, 37 insertions, 1 deletions
diff --git a/challenge-186/cheok-yin-fung/java/UnicodeMakeover.java b/challenge-186/cheok-yin-fung/java/UnicodeMakeover.java
new file mode 100644
index 0000000000..43c211c06e
--- /dev/null
+++ b/challenge-186/cheok-yin-fung/java/UnicodeMakeover.java
@@ -0,0 +1,30 @@
+// The Weekly Challenge 186
+// Task 2 Unicode Makeover
+// Java Solution
+
+import java.text.Normalizer;
+// Please also take a look at: java.lang.Character;
+
+public class UnicodeMakeover
+{
+ public static void main(String[] args) {
+ System.out.println(makeover("ÃÊÍÒÙ"));
+ System.out.println(makeover("âÊíÒÙ"));
+ System.out.println(makeover("chữ Quốc ngữ"));
+ System.out.println(makeover("Paul Erdős"));
+ System.out.println(makeover("香港")); // no output
+ }
+
+ public static String makeover(String text)
+ {
+ StringBuilder aaa = new
+ StringBuilder(Normalizer.normalize(text, Normalizer.Form.NFKD));
+ String bbb = "";
+ for (int i = 0; i < aaa.length(); i++)
+ {
+ if (aaa.codePointAt(i) <= 127)
+ bbb += aaa.charAt(i);
+ }
+ return bbb;
+ }
+}
diff --git a/challenge-186/cheok-yin-fung/perl/ch-1.pl b/challenge-186/cheok-yin-fung/perl/ch-1.pl
index 27d1b4c16f..8df61c88dc 100644
--- a/challenge-186/cheok-yin-fung/perl/ch-1.pl
+++ b/challenge-186/cheok-yin-fung/perl/ch-1.pl
@@ -1,3 +1,5 @@
+# The Weekly Challenge 186
+# Task 1 Zip List
use v5.30.0;
use warnings;
diff --git a/challenge-186/cheok-yin-fung/perl/ch-2.pl b/challenge-186/cheok-yin-fung/perl/ch-2.pl
index 34bf7b847c..595c32c482 100644
--- a/challenge-186/cheok-yin-fung/perl/ch-2.pl
+++ b/challenge-186/cheok-yin-fung/perl/ch-2.pl
@@ -1,3 +1,5 @@
+# The Weekly Challenge 186
+# Task 2 Unicode Makeover
use v5.30.0;
use charnames ();
use utf8;
@@ -13,8 +15,10 @@ sub makeover {
return join "", map {ch_latin $_} split "", $_[0]
}
-use Test::More tests=>4;
+use Test::More tests=>5;
ok makeover("ÃÊÍÒÙ") eq "AEIOU";
ok makeover("âÊíÒÙ") eq "aEiOU";
ok makeover("chữ Quốc ngữ") eq "chu Quoc ngu";
ok makeover("Paul Erdős") eq "Paul Erdos";
+ok makeover("香港") eq "香港";
+