From e015238170e27c690e4f46646b6687f600fd0c59 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Mon, 6 Jan 2020 17:21:12 +0000 Subject: - Added solutions by Ulrich Rieke. --- challenge-042/ulrich-rieke/raku/ch-1.p6 | 5 +++++ challenge-042/ulrich-rieke/raku/ch-2.p6 | 31 +++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 challenge-042/ulrich-rieke/raku/ch-1.p6 create mode 100644 challenge-042/ulrich-rieke/raku/ch-2.p6 (limited to 'challenge-042') 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" ; +} -- cgit