Solution to problem 1 in Python

This commit is contained in:
David Doblas Jiménez 2021-11-14 16:05:03 +01:00
parent c75297b25a
commit 27361703e8

49
src/P1.py Normal file
View File

@ -0,0 +1,49 @@
# --- Day 1: Report Repair ---
# After saving Christmas five years in a row, you've decided to take a vacation
# at a nice resort on a tropical island. Surely, Christmas will go on without you.
# The tropical island has its own currency and is entirely cash-only. The gold
# coins used there have a little picture of a starfish; the locals just call
# them stars. None of the currency exchanges seem to have heard of them, but
# somehow, you'll need to find fifty of these coins by the time you arrive so
# you can pay the deposit on your room.
# To save your vacation, you need to get all fifty stars by December 25th.
# Collect stars by solving puzzles. Two puzzles will be made available on each
# day in the Advent calendar; the second puzzle is unlocked when you complete
# the first. Each puzzle grants one star. Good luck!
# Before you leave, the Elves in accounting just need you to fix your expense
# report (your puzzle input); apparently, something isn't quite adding up.
# Specifically, they need you to find the two entries that sum to 2020 and then
# multiply those two numbers together.
# For example, suppose your expense report contained the following:
# 1721
# 979
# 366
# 299
# 675
# 1456
# In this list, the two entries that sum to 2020 are 1721 and 299. Multiplying
# them together produces 1721 * 299 = 514579, so the correct answer is 514579.
# Of course, your expense report is much larger. Find the two entries that sum
# to 2020; what do you get if you multiply them together?
with open("files/P1.txt", "r") as f:
numbers = [int(l) for l in f.read().strip().split("\n")]
for n in numbers:
for i in range(len(numbers)):
if n + numbers[i] == 2020:
print(f"{n} times {numbers[i]} is {n*numbers[i]}")
break
else:
continue
break