aboutsummaryrefslogtreecommitdiff
path: root/challenge-042
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-01-06 17:21:12 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-01-06 17:21:12 +0000
commite015238170e27c690e4f46646b6687f600fd0c59 (patch)
tree73af7aec5c7a251f6f5030fa9a7e39ae412af123 /challenge-042
parent8ffaf11008fb0e05c32c03f76146deaa6a22acec (diff)
downloadperlweeklychallenge-club-e015238170e27c690e4f46646b6687f600fd0c59.tar.gz
perlweeklychallenge-club-e015238170e27c690e4f46646b6687f600fd0c59.tar.bz2
perlweeklychallenge-club-e015238170e27c690e4f46646b6687f600fd0c59.zip
- Added solutions by Ulrich Rieke.
Diffstat (limited to 'challenge-042')
-rw-r--r--challenge-042/ulrich-rieke/raku/ch-1.p65
-rw-r--r--challenge-042/ulrich-rieke/raku/ch-2.p631
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-042/ulrich-rieke/raku/ch-1.p6 b/challenge-042/ulrich-rieke/raku/ch-1.p6
new file mode 100644
index 0000000000..8cd58c1645
--- /dev/null
+++ b/challenge-042/ulrich-rieke/raku/ch-1.p6
@@ -0,0 +1,5 @@
+use v6 ;
+
+for (1..50) -> $i {
+ say "Decimal $i = Octal " ~ $i.base(8).Str ;
+}
diff --git a/challenge-042/ulrich-rieke/raku/ch-2.p6 b/challenge-042/ulrich-rieke/raku/ch-2.p6
new file mode 100644
index 0000000000..8ffe2f3e29
--- /dev/null
+++ b/challenge-042/ulrich-rieke/raku/ch-2.p6
@@ -0,0 +1,31 @@
+use v6 ;
+
+sub validateBrackets( Str $term --> Bool) {
+ if ( $term ~~ /^ ')' | '(' $/ ) {
+ return False ;
+ }
+ return countLetter( $term , '(') == countLetter( $term , ')') ;
+}
+
+sub countLetter( Str $term , Str $letter --> Int) {
+ my $count = 0 ;
+ for ( $term.comb) -> $let {
+ if ( $let eq $letter ) {
+ $count++ ;
+ }
+ }
+ return $count ;
+}
+
+sub generateString( Int $length --> Str ) {
+ return ( '(' , ')' ).roll( $length ).join.Str ;
+}
+
+my @generated ;
+for (1..10) -> $i {
+ @generated.push( generateString( $i ) ) ;
+}
+for @generated -> $bracketstring {
+ print "$bracketstring-" ;
+ say validateBrackets( $bracketstring ) ?? "OK" !! "NOT OK" ;
+}