aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-01-07 18:45:56 +0000
committerGitHub <noreply@github.com>2020-01-07 18:45:56 +0000
commit85da800ba04a2d5c8e3204e548ab3ddae7a773dc (patch)
treed78018721af400f50b96dfa0828d44492b27385b
parent46bd74ae15b5dc06418ea2e64cc011d0b05254b1 (diff)
parent7bcbeadc4a8c8053c7e16c98f81f386001953bde (diff)
downloadperlweeklychallenge-club-85da800ba04a2d5c8e3204e548ab3ddae7a773dc.tar.gz
perlweeklychallenge-club-85da800ba04a2d5c8e3204e548ab3ddae7a773dc.tar.bz2
perlweeklychallenge-club-85da800ba04a2d5c8e3204e548ab3ddae7a773dc.zip
Merge pull request #1119 from wanderdoc/master
Addes solutions in R.
-rw-r--r--challenge-042/wanderdoc/R/ch-1.R5
-rw-r--r--challenge-042/wanderdoc/R/ch-2.R55
2 files changed, 60 insertions, 0 deletions
diff --git a/challenge-042/wanderdoc/R/ch-1.R b/challenge-042/wanderdoc/R/ch-1.R
new file mode 100644
index 0000000000..dac7cf1186
--- /dev/null
+++ b/challenge-042/wanderdoc/R/ch-1.R
@@ -0,0 +1,5 @@
+for(i in 1:50)
+{
+ print(paste(paste("Decimal", i), "=", paste("Octal", as.octmode(i))))
+
+} \ No newline at end of file
diff --git a/challenge-042/wanderdoc/R/ch-2.R b/challenge-042/wanderdoc/R/ch-2.R
new file mode 100644
index 0000000000..ceb4b6c8a8
--- /dev/null
+++ b/challenge-042/wanderdoc/R/ch-2.R
@@ -0,0 +1,55 @@
+ml <- sample(seq(6,20,2), 20, replace=TRUE)
+v.base <- c("(", ")")
+fair <- 1
+
+simple_brackets <- function(x)
+{
+ v.s <- sample(v.base, x, TRUE)
+ return(v.s)
+}
+
+
+
+
+
+fair_brackets <- function(x)
+{
+ v.f <- character(x)
+ v.base <- c("(", ")")
+ ob <- ifelse(v.base=="(",0.75,0.25)
+ cb <- ifelse(v.base==")",0.75,0.25)
+ v.f[1] = "("
+ for(i in 2:(x-1))
+ {
+ if(v.f[i-1] == "(") v.f[i] <- sample(v.base, 1, TRUE, prob = cb)
+ if(v.f[i-1] == ")") v.f[i] <- sample(v.base, 1, TRUE, prob = ob)
+
+ }
+ v.f[x] <- ")"
+ return(v.f)
+}
+
+
+
+for (lenstr in ml)
+{
+ v.chr <- character(lenstr)
+ if(fair == 1) v.chr <- fair_brackets(lenstr)
+ else v.chr <- simple_brackets(lenstr)
+
+
+ counter<-0
+
+
+
+ for(ch in v.chr)
+ {
+ if(ch == ")" ) counter <- counter - 1;
+ if (counter < 0) break;
+
+ if(ch == "(" ) counter <- counter + 1;
+ }
+ ok <- ifelse(counter == 0,'OK', 'NOT OK')
+
+ print(paste(paste0(v.chr, collapse=""), ok))
+}