From 94dcb766cd0f2b924f701ecbbba9b36e4f1b978f Mon Sep 17 00:00:00 2001 From: Rokas Puzonas Date: Sun, 13 Dec 2020 18:56:54 +0200 Subject: [PATCH] Solved part 1 of day 13 --- 13/input.txt | 2 ++ 13/part1.py | 20 ++++++++++++++++++++ 13/test.txt | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 13/input.txt create mode 100644 13/part1.py create mode 100644 13/test.txt diff --git a/13/input.txt b/13/input.txt new file mode 100644 index 0000000..fd1a522 --- /dev/null +++ b/13/input.txt @@ -0,0 +1,2 @@ +1000186 +17,x,x,x,x,x,x,x,x,x,x,37,x,x,x,x,x,907,x,x,x,x,x,x,x,x,x,x,x,19,x,x,x,x,x,x,x,x,x,x,23,x,x,x,x,x,29,x,653,x,x,x,x,x,x,x,x,x,41,x,x,13 \ No newline at end of file diff --git a/13/part1.py b/13/part1.py new file mode 100644 index 0000000..d6a17b8 --- /dev/null +++ b/13/part1.py @@ -0,0 +1,20 @@ +import math + +def getNotes(filename): + with open(filename, "r") as f: + return { + "departTime": int(f.readline()), + "IDs": [int(i) for i in f.readline().split(",") if i != "x"] + } + +notes = getNotes("input.txt") +departTime = notes["departTime"] +earliestID = 0 +earliestTime = math.ceil(departTime/notes["IDs"][0])*notes["IDs"][0] +for ID in notes["IDs"]: + time = math.ceil(departTime/ID)*ID + if earliestTime > time: + earliestTime = time + earliestID = ID + +print(earliestID*(earliestTime-departTime)) \ No newline at end of file diff --git a/13/test.txt b/13/test.txt new file mode 100644 index 0000000..e473080 --- /dev/null +++ b/13/test.txt @@ -0,0 +1,2 @@ +939 +7,13,x,x,59,x,31,19 \ No newline at end of file