From 0009002a99e654fb6c1f924c9d8e0169b0ffea64 Mon Sep 17 00:00:00 2001 From: Walt Mankowski Date: Mon, 17 Aug 2020 20:13:03 -0400 Subject: python solution for challenge 74 task 1 --- challenge-074/walt-mankowski/python/ch-1.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 challenge-074/walt-mankowski/python/ch-1.py (limited to 'challenge-074/walt-mankowski/python') 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) -- cgit From f4168e34a79c5fe50d8831a1cdd9e91584cbab0c Mon Sep 17 00:00:00 2001 From: Walt Mankowski Date: Mon, 17 Aug 2020 20:20:17 -0400 Subject: python solution for challenge 74 task 2 --- challenge-074/walt-mankowski/python/ch-2.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 challenge-074/walt-mankowski/python/ch-2.py (limited to 'challenge-074/walt-mankowski/python') 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..1c1d4e1609 --- /dev/null +++ b/challenge-074/walt-mankowski/python/ch-2.py @@ -0,0 +1,21 @@ +from sys import argv + +s = argv[1] +seen = set() +nr = [] +out = [] + +for c in s: + # have we seen c before? + if c not in seen: + # add c to nr + seen.add(c) + nr.append(c) + else: + # remove c from nr + nr.remove(c) + + # now the FNR is either the last element of nr, or # + out.append(nr[-1] if nr else '#') + +print(''.join(out)) -- cgit From bd68cb43ac04ad8ec10f49cadd65af94fe7b9629 Mon Sep 17 00:00:00 2001 From: Walt Mankowski Date: Thu, 20 Aug 2020 21:30:15 -0400 Subject: only delete c from nr once --- challenge-074/walt-mankowski/python/ch-2.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'challenge-074/walt-mankowski/python') diff --git a/challenge-074/walt-mankowski/python/ch-2.py b/challenge-074/walt-mankowski/python/ch-2.py index 1c1d4e1609..e80b5b0246 100644 --- a/challenge-074/walt-mankowski/python/ch-2.py +++ b/challenge-074/walt-mankowski/python/ch-2.py @@ -1,7 +1,7 @@ from sys import argv s = argv[1] -seen = set() +seen = {} nr = [] out = [] @@ -9,11 +9,13 @@ for c in s: # have we seen c before? if c not in seen: # add c to nr - seen.add(c) + seen[c] = True nr.append(c) else: # remove c from nr - nr.remove(c) + if seen[c]: + nr.remove(c) + seen[c] = False # now the FNR is either the last element of nr, or # out.append(nr[-1] if nr else '#') -- cgit From 5eb37744f85516e07295d2c66546449b6a266555 Mon Sep 17 00:00:00 2001 From: Walt Mankowski Date: Sun, 23 Aug 2020 09:02:19 -0400 Subject: make out a string instead of a list --- challenge-074/walt-mankowski/python/ch-2.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'challenge-074/walt-mankowski/python') diff --git a/challenge-074/walt-mankowski/python/ch-2.py b/challenge-074/walt-mankowski/python/ch-2.py index e80b5b0246..d7aeb7353c 100644 --- a/challenge-074/walt-mankowski/python/ch-2.py +++ b/challenge-074/walt-mankowski/python/ch-2.py @@ -3,7 +3,7 @@ from sys import argv s = argv[1] seen = {} nr = [] -out = [] +out = '' for c in s: # have we seen c before? @@ -18,6 +18,6 @@ for c in s: seen[c] = False # now the FNR is either the last element of nr, or # - out.append(nr[-1] if nr else '#') + out += nr[-1] if nr else '#' -print(''.join(out)) +print(out) -- cgit