diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-02-14 08:03:38 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-02-14 08:03:38 +0000 |
| commit | 6051a217ebf6f4804bf3015fc670971a489aecb0 (patch) | |
| tree | 8bc53d3afbbaf85c73869423c339cef31b2e50b6 /challenge-204 | |
| parent | 986b633b77c54044dc1679939a79cdb8d3164a4d (diff) | |
| download | perlweeklychallenge-club-6051a217ebf6f4804bf3015fc670971a489aecb0.tar.gz perlweeklychallenge-club-6051a217ebf6f4804bf3015fc670971a489aecb0.tar.bz2 perlweeklychallenge-club-6051a217ebf6f4804bf3015fc670971a489aecb0.zip | |
- Added solutions by Mark Anderson.
- Added solutions by Lubos Kolouch.
- Added solutions by Luca Ferrari.
- Added solutions by Andrew Shitov.
- Added solutions by W. Luis Mochan.
- Added solutions by Thomas Kohler.
- Added solutions by Matthew Neleigh.
- Added solutions by E. Choroba.
- Added solutions by Carlos Oliveira.
- Added solutions by Robbie Hatley.
Diffstat (limited to 'challenge-204')
| -rw-r--r-- | challenge-204/ash/chatgpt/README (renamed from challenge-204/chatgpt/README) | 0 | ||||
| -rw-r--r-- | challenge-204/ash/chatgpt/blog-1.txt (renamed from challenge-204/chatgpt/blog-1.txt) | 0 | ||||
| -rw-r--r-- | challenge-204/ash/chatgpt/blog-2.txt (renamed from challenge-204/chatgpt/blog-2.txt) | 0 | ||||
| -rw-r--r-- | challenge-204/ash/chatgpt/raku/ch-1.raku (renamed from challenge-204/chatgpt/raku/ch-1.raku) | 0 | ||||
| -rw-r--r-- | challenge-204/ash/chatgpt/raku/ch-2.raku (renamed from challenge-204/chatgpt/raku/ch-2.raku) | 0 | ||||
| -rwxr-xr-x | challenge-204/eric-cheung/python/ch-1.py | 33 | ||||
| -rwxr-xr-x | challenge-204/eric-cheung/python/ch-2.py | 32 | ||||
| -rw-r--r-- | challenge-204/robert-dicicco/julia/ch-1.jl | 101 | ||||
| -rw-r--r-- | challenge-204/robert-dicicco/raku/ch-1.raku | 91 | ||||
| -rw-r--r-- | challenge-204/robert-dicicco/ruby/ch-1.rb | 79 |
10 files changed, 336 insertions, 0 deletions
diff --git a/challenge-204/chatgpt/README b/challenge-204/ash/chatgpt/README index 7735e06a24..7735e06a24 100644 --- a/challenge-204/chatgpt/README +++ b/challenge-204/ash/chatgpt/README diff --git a/challenge-204/chatgpt/blog-1.txt b/challenge-204/ash/chatgpt/blog-1.txt index 59e520d49a..59e520d49a 100644 --- a/challenge-204/chatgpt/blog-1.txt +++ b/challenge-204/ash/chatgpt/blog-1.txt diff --git a/challenge-204/chatgpt/blog-2.txt b/challenge-204/ash/chatgpt/blog-2.txt index 8fabcdca67..8fabcdca67 100644 --- a/challenge-204/chatgpt/blog-2.txt +++ b/challenge-204/ash/chatgpt/blog-2.txt diff --git a/challenge-204/chatgpt/raku/ch-1.raku b/challenge-204/ash/chatgpt/raku/ch-1.raku index cbc18bdd63..cbc18bdd63 100644 --- a/challenge-204/chatgpt/raku/ch-1.raku +++ b/challenge-204/ash/chatgpt/raku/ch-1.raku diff --git a/challenge-204/chatgpt/raku/ch-2.raku b/challenge-204/ash/chatgpt/raku/ch-2.raku index 20375d1164..20375d1164 100644 --- a/challenge-204/chatgpt/raku/ch-2.raku +++ b/challenge-204/ash/chatgpt/raku/ch-2.raku diff --git a/challenge-204/eric-cheung/python/ch-1.py b/challenge-204/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..e4399c7369 --- /dev/null +++ b/challenge-204/eric-cheung/python/ch-1.py @@ -0,0 +1,33 @@ +
+def IsMonotone(arrInput):
+
+ bConstantArr = True
+ bMontoneInc = False
+
+ for nLastIndx in range(1, len(arrInput)):
+ if arrInput[nLastIndx - 1] == arrInput[nLastIndx]:
+ continue
+
+ bConstantArr = False
+
+ if arrInput[nLastIndx - 1] < arrInput[nLastIndx]:
+ bMontoneInc = True
+ break
+
+ break
+
+ if bConstantArr:
+ return "1"
+
+ for nLoopIndx in range(nLastIndx + 1, len(arrInput)):
+ if bMontoneInc and arrInput[nLoopIndx - 1] > arrInput[nLoopIndx] or not bMontoneInc and arrInput[nLoopIndx - 1] < arrInput[nLoopIndx]:
+ return "0"
+
+ return "1"
+
+
+## nInputArr = [1, 2, 2, 3] ## Example 1
+## nInputArr = [1, 3, 2] ## Example 2
+nInputArr = [6, 5, 5, 4] ## Example 3
+
+print (IsMonotone(nInputArr))
diff --git a/challenge-204/eric-cheung/python/ch-2.py b/challenge-204/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..5c6194a631 --- /dev/null +++ b/challenge-204/eric-cheung/python/ch-2.py @@ -0,0 +1,32 @@ +
+import numpy as np
+
+## Example 1
+## matrixInput = np.array([[1, 2], [3, 4]])
+## nMatrixReShapeRow = 1
+## nMatrixReShapeCol = 4
+
+## Example 2
+## matrixInput = np.array([[1, 2, 3], [4, 5, 6]])
+## nMatrixReShapeRow = 3
+## nMatrixReShapeCol = 2
+
+## Example 3
+matrixInput = np.array([1, 2])
+nMatrixReShapeRow = 3
+nMatrixReShapeCol = 2
+
+
+nMatrixRow = len(matrixInput)
+
+try:
+ nMatrixCol = len(matrixInput[0])
+except:
+ nMatrixCol = 0
+
+
+if nMatrixRow * nMatrixCol != nMatrixReShapeRow * nMatrixReShapeCol:
+ print ("0")
+else:
+ matrixOutput = matrixInput.reshape(nMatrixReShapeRow, nMatrixReShapeCol)
+ print (matrixOutput)
diff --git a/challenge-204/robert-dicicco/julia/ch-1.jl b/challenge-204/robert-dicicco/julia/ch-1.jl new file mode 100644 index 0000000000..ff3d7727b9 --- /dev/null +++ b/challenge-204/robert-dicicco/julia/ch-1.jl @@ -0,0 +1,101 @@ +#!/usr/bin/env julia + +#= + +----------------------------------------- + +AUTHOR: Robert DiCicco + +DATE : 2023-02-13 + +Challenge 204 Monotonic Array ( Julia ) + +----------------------------------------- + +=# + +using Printf + + + +nums = [[1,2,2,3],[1,3,2],[6,5,5,4]] + + + +function CheckIncreasing(arr, ln) + + cnt = 1 + + while cnt < ln + + arr[cnt + 1] >= arr[cnt] ? (cnt += 1) : (return 0) + + end + + return 1 + +end + + + +function CheckDecreasing(arr, ln) + + cnt = 1 + + while cnt < ln + + arr[cnt + 1] <= arr[cnt] ? (cnt += 1) : (return 0) + + end + + return 1 + +end + + + +for n in nums + + @printf("Input: @nums = %s\n", n) + + len = length(n) + + if (CheckIncreasing(n, len) == 0) && (CheckDecreasing(n,len) == 0) + + println("0") + + end + + if (CheckIncreasing(n, len) == 1) || (CheckDecreasing(n,len) == 1) + + println("1") + + end + +end + + + +#= + +----------------------------------------- + +SAMPLE OUTPUY + +julia .\Monotones.jl + +Input: @nums = [1, 2, 2, 3] + +1 + +Input: @nums = [1, 3, 2] + +0 + +Input: @nums = [6, 5, 5, 4] + +1 + +----------------------------------------- + +=# diff --git a/challenge-204/robert-dicicco/raku/ch-1.raku b/challenge-204/robert-dicicco/raku/ch-1.raku new file mode 100644 index 0000000000..ed98510134 --- /dev/null +++ b/challenge-204/robert-dicicco/raku/ch-1.raku @@ -0,0 +1,91 @@ +#!/usr/bin/env raku + +#`{ + +------------------------------------------------- + +AUTHOR: Robert DiCicco + +DATE : 2023-02-13 + +Challenge 204 Monotonic Array ( Raku ) + +------------------------------------------------- + +} + + + +my @nums = <1 2 2 3>,<1 3 2>,<6 5 5 4>; + + + +sub CheckIncreasing (@arr, $len) { + + my $cnt = 0; + + while $cnt < $len - 1 { + + @arr[$cnt + 1] >= @arr[$cnt] ?? $cnt++ !! return 0; + + } + + return 1; + +} + + + +sub CheckDecreasing (@arr, $len) { + + my $cnt = 0; + + while $cnt < $len - 1 { + + @arr[$cnt + 1] <= @arr[$cnt] ?? $cnt++ !! return 0; + + } + + return 1; + +} + + + +for (@nums) -> @n { + + print "Input: \@nums = (",@n,")\n"; + + my $len = @n.elems; + + say "0" if CheckIncreasing(@n,$len) == 0 and CheckDecreasing(@n,$len) == 0 ; + + say "1" if CheckIncreasing(@n,$len) == 1 or CheckDecreasing(@n,$len) == 1 ; + +} + + + +#`{ + +------------------------------------------------- + +SAMPLE OUTPUT + +raku .\Monotones.rk + +Input: @nums = (1 2 2 3) + +1 + +Input: @nums = (1 3 2) + +0 + +Input: @nums = (6 5 5 4) + +1 + +------------------------------------------------- + +} diff --git a/challenge-204/robert-dicicco/ruby/ch-1.rb b/challenge-204/robert-dicicco/ruby/ch-1.rb new file mode 100644 index 0000000000..5754ba0776 --- /dev/null +++ b/challenge-204/robert-dicicco/ruby/ch-1.rb @@ -0,0 +1,79 @@ +#!/usr/bin/env ruby + +=begin + +AUTHOR: Robert DiCicco + +DATE : 2023-02-13 + +Challenge 204 Monotonic Array ( Raku ) + +=end + + + +nums = [[1,2,2,3],[1,3,2],[6,5,5,4]] + + + +def CheckIncreasing(arr,ln) + + cnt = 0 + + while cnt < ln - 1 + + arr[cnt + 1] >= arr[cnt] ? (cnt += 1) : (return 0) + + end + + return 1 + +end + + def CheckDecreasing(arr,ln) + + cnt = 0 + + while cnt < ln - 1 + + arr[cnt + 1] <= arr[cnt] ? (cnt += 1) : (return 0) + + end + + return 1 + +end + + + +nums.each do |n| + + print("Input: \@nums = #{n}\n") + + len = n.length + + puts("0") if (CheckIncreasing(n,len) == 0) && (CheckDecreasing(n,len) == 0) + + puts("1") if (CheckIncreasing(n,len) == 1) || (CheckDecreasing(n,len) == 1) + +end + + + +=begin + +ruby .\Monotones.rb + +Input: @nums = [1, 2, 2, 3] + +1 + +Input: @nums = [1, 3, 2] + +0 + +Input: @nums = [6, 5, 5, 4] + +1 + +=end |
