From 0c77ec229fb715d91ad4b64fb37ff295542f6e93 Mon Sep 17 00:00:00 2001 From: dzwdz Date: Tue, 13 Dec 2022 14:27:23 +0100 Subject: day 13 part 1 --- 22.13/main.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 22.13/main.py (limited to '22.13/main.py') diff --git a/22.13/main.py b/22.13/main.py new file mode 100644 index 0000000..25b09a1 --- /dev/null +++ b/22.13/main.py @@ -0,0 +1,30 @@ +import json +import sys + +lines = [json.loads(s) for s in sys.stdin.readlines() if s.strip()] + +def cmp(a, b): + def tolist(v): + return v if type(v) == list else [v] + i = 0 + while True: + if len(a) <= i and len(b) <= i: return 0 + if len(a) <= i: return -1 + if len(b) <= i: return 1 + x = a[i] + y = b[i] + if type(x) == int and type(y) == int: + if x < y: return -1 + if x > y: return 1 + else: + r = cmp(tolist(x), tolist(y)) + if r != 0: return r + i += 1 + +partOne = 0 +for i in range(0, len(lines), 2): + a = lines[i] + b = lines[i+1] + if cmp(a,b) != 1: + partOne += i//2+1 +print(partOne) -- cgit 1.4.1-2-gfad0