aboutsummaryrefslogtreecommitdiff
path: root/challenge-074/walt-mankowski/python
diff options
context:
space:
mode:
author冯昶 <seaker@qq.com>2020-08-25 14:02:24 +0800
committer冯昶 <seaker@qq.com>2020-08-25 14:02:24 +0800
commitec9e40b0acf8571ff15678cddd4f19eded756e72 (patch)
treeb17ef3f9f3664e265fee053a3a818203e60d0bc2 /challenge-074/walt-mankowski/python
parentc78c938183297e7e8f494dd4a59fe82494f42774 (diff)
parentfd1f031ae79f262a59491231fb638176af79f92f (diff)
downloadperlweeklychallenge-club-ec9e40b0acf8571ff15678cddd4f19eded756e72.tar.gz
perlweeklychallenge-club-ec9e40b0acf8571ff15678cddd4f19eded756e72.tar.bz2
perlweeklychallenge-club-ec9e40b0acf8571ff15678cddd4f19eded756e72.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-074/walt-mankowski/python')
-rw-r--r--challenge-074/walt-mankowski/python/ch-1.py15
-rw-r--r--challenge-074/walt-mankowski/python/ch-2.py23
2 files changed, 38 insertions, 0 deletions
diff --git a/challenge-074/walt-mankowski/python/ch-1.py b/challenge-074/walt-mankowski/python/ch-1.py
new file mode 100644
index 0000000000..7af167d60a
--- /dev/null
+++ b/challenge-074/walt-mankowski/python/ch-1.py
@@ -0,0 +1,15 @@
+from sys import argv
+from collections import defaultdict
+
+a = [int(x) for x in argv[1:]]
+target = len(a) / 2
+result = -1
+cnt = defaultdict(int)
+
+for x in a:
+ cnt[x] += 1
+ if cnt[x] > target:
+ result = x
+ break
+
+print(result)
diff --git a/challenge-074/walt-mankowski/python/ch-2.py b/challenge-074/walt-mankowski/python/ch-2.py
new file mode 100644
index 0000000000..d7aeb7353c
--- /dev/null
+++ b/challenge-074/walt-mankowski/python/ch-2.py
@@ -0,0 +1,23 @@
+from sys import argv
+
+s = argv[1]
+seen = {}
+nr = []
+out = ''
+
+for c in s:
+ # have we seen c before?
+ if c not in seen:
+ # add c to nr
+ seen[c] = True
+ nr.append(c)
+ else:
+ # remove c from nr
+ if seen[c]:
+ nr.remove(c)
+ seen[c] = False
+
+ # now the FNR is either the last element of nr, or #
+ out += nr[-1] if nr else '#'
+
+print(out)