aboutsummaryrefslogtreecommitdiff
path: root/challenge-249/eric-cheung
diff options
context:
space:
mode:
authorLuis Mochan <mochan@fis.unam.mx>2023-12-27 14:57:27 -0600
committerLuis Mochan <mochan@fis.unam.mx>2023-12-27 14:57:27 -0600
commitf9c88dbbb1e13bfb63f40d0dd3b8630850655d7b (patch)
treecb922fb2f44a7ec7bd10cd13b3db9eb2d4fd14b5 /challenge-249/eric-cheung
parent23f378718ed93b9b8d9e51fe18f07a55f61dc9c1 (diff)
parent4ece120b2f4c7b25b00eaad66524fb5d99fa58c3 (diff)
downloadperlweeklychallenge-club-f9c88dbbb1e13bfb63f40d0dd3b8630850655d7b.tar.gz
perlweeklychallenge-club-f9c88dbbb1e13bfb63f40d0dd3b8630850655d7b.tar.bz2
perlweeklychallenge-club-f9c88dbbb1e13bfb63f40d0dd3b8630850655d7b.zip
Merge branch 'master' of github.com:manwar/perlweeklychallenge-club into challenges
Diffstat (limited to 'challenge-249/eric-cheung')
-rwxr-xr-xchallenge-249/eric-cheung/python/ch-1.py16
-rwxr-xr-xchallenge-249/eric-cheung/python/ch-2.py24
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-249/eric-cheung/python/ch-1.py b/challenge-249/eric-cheung/python/ch-1.py
new file mode 100755
index 0000000000..e41155cc52
--- /dev/null
+++ b/challenge-249/eric-cheung/python/ch-1.py
@@ -0,0 +1,16 @@
+
+arrInt = [3, 2, 3, 2, 2, 2] ## Example 1
+## arrInt = [1, 2, 3, 4] ## Example 2
+
+arrUniq = list(set(arrInt))
+arrCount = [arrInt.count(nLoop) for nLoop in arrUniq]
+arrOutput = []
+
+if any(nLoop % 2 == 1 for nLoop in arrCount):
+ print ([])
+else:
+ for nIndx in range(len(arrUniq)):
+ for nCount in range(int(arrCount[nIndx] / 2)):
+ arrOutput.append([arrUniq[nIndx], arrUniq[nIndx]])
+
+ print (arrOutput)
diff --git a/challenge-249/eric-cheung/python/ch-2.py b/challenge-249/eric-cheung/python/ch-2.py
new file mode 100755
index 0000000000..79efde5aea
--- /dev/null
+++ b/challenge-249/eric-cheung/python/ch-2.py
@@ -0,0 +1,24 @@
+
+## Ref.
+## https://leetcode.com/problems/di-string-match/
+## https://algo.monster/liteproblems/942
+
+def GetDiStrMatch (strInput):
+
+ arrOutput = []
+ nLow, nHigh = 0, len(strInput)
+ for charLoop in strInput:
+ if charLoop == "I":
+ arrOutput.append(nLow)
+ nLow = nLow + 1
+ else:
+ arrOutput.append(nHigh)
+ nHigh = nHigh - 1
+ arrOutput.append(nLow)
+ return arrOutput
+
+## strExample = "IDID" ## Example 1
+## strExample = "III" ## Example 2
+strExample = "DDI" ## Example 3
+
+print (GetDiStrMatch(strExample))