Day 1: Solving first challenge
This commit is contained in:
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
.vscode
|
||||||
|
*.pyc
|
||||||
4
README.md
Normal file
4
README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Advent of code 2020
|
||||||
|
|
||||||
|
This repository contains code written to solve aoc challenges.
|
||||||
|
More information at: https://adventofcode.com/2020
|
||||||
0
day_1/__init__.py
Normal file
0
day_1/__init__.py
Normal file
213
day_1/report_repair.py
Normal file
213
day_1/report_repair.py
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
data = """\
|
||||||
|
1822
|
||||||
|
1917
|
||||||
|
1642
|
||||||
|
1617
|
||||||
|
1941
|
||||||
|
1740
|
||||||
|
1529
|
||||||
|
1896
|
||||||
|
1880
|
||||||
|
568
|
||||||
|
1897
|
||||||
|
1521
|
||||||
|
1832
|
||||||
|
1936
|
||||||
|
611
|
||||||
|
1475
|
||||||
|
1950
|
||||||
|
1895
|
||||||
|
1532
|
||||||
|
1721
|
||||||
|
1498
|
||||||
|
1905
|
||||||
|
1770
|
||||||
|
1845
|
||||||
|
2003
|
||||||
|
1854
|
||||||
|
1705
|
||||||
|
1916
|
||||||
|
1913
|
||||||
|
1956
|
||||||
|
1798
|
||||||
|
1823
|
||||||
|
1955
|
||||||
|
1713
|
||||||
|
1942
|
||||||
|
1710
|
||||||
|
1696
|
||||||
|
1590
|
||||||
|
1966
|
||||||
|
1476
|
||||||
|
1800
|
||||||
|
1672
|
||||||
|
1533
|
||||||
|
1524
|
||||||
|
1957
|
||||||
|
1923
|
||||||
|
1545
|
||||||
|
534
|
||||||
|
1707
|
||||||
|
1760
|
||||||
|
1104
|
||||||
|
1471
|
||||||
|
1947
|
||||||
|
1802
|
||||||
|
1525
|
||||||
|
1931
|
||||||
|
1653
|
||||||
|
1608
|
||||||
|
1937
|
||||||
|
1977
|
||||||
|
1598
|
||||||
|
1470
|
||||||
|
1794
|
||||||
|
1488
|
||||||
|
1786
|
||||||
|
1652
|
||||||
|
1482
|
||||||
|
1603
|
||||||
|
1667
|
||||||
|
1245
|
||||||
|
1478
|
||||||
|
667
|
||||||
|
1948
|
||||||
|
1885
|
||||||
|
547
|
||||||
|
1971
|
||||||
|
1795
|
||||||
|
1910
|
||||||
|
1571
|
||||||
|
1711
|
||||||
|
1727
|
||||||
|
1987
|
||||||
|
1597
|
||||||
|
1586
|
||||||
|
1661
|
||||||
|
1893
|
||||||
|
1873
|
||||||
|
1827
|
||||||
|
1561
|
||||||
|
2006
|
||||||
|
1782
|
||||||
|
1813
|
||||||
|
2000
|
||||||
|
1592
|
||||||
|
1714
|
||||||
|
1849
|
||||||
|
1501
|
||||||
|
1809
|
||||||
|
1751
|
||||||
|
1935
|
||||||
|
1692
|
||||||
|
1697
|
||||||
|
1878
|
||||||
|
1502
|
||||||
|
1738
|
||||||
|
1731
|
||||||
|
1682
|
||||||
|
1690
|
||||||
|
1499
|
||||||
|
1641
|
||||||
|
1925
|
||||||
|
1996
|
||||||
|
1972
|
||||||
|
1886
|
||||||
|
1836
|
||||||
|
1747
|
||||||
|
1841
|
||||||
|
1668
|
||||||
|
715
|
||||||
|
1698
|
||||||
|
1859
|
||||||
|
1637
|
||||||
|
1477
|
||||||
|
1785
|
||||||
|
1695
|
||||||
|
1702
|
||||||
|
1944
|
||||||
|
1631
|
||||||
|
1771
|
||||||
|
1623
|
||||||
|
1892
|
||||||
|
1466
|
||||||
|
1834
|
||||||
|
1899
|
||||||
|
201
|
||||||
|
1801
|
||||||
|
1978
|
||||||
|
1830
|
||||||
|
1591
|
||||||
|
1673
|
||||||
|
1949
|
||||||
|
1846
|
||||||
|
1677
|
||||||
|
1657
|
||||||
|
1576
|
||||||
|
1817
|
||||||
|
1851
|
||||||
|
1894
|
||||||
|
1754
|
||||||
|
1604
|
||||||
|
1568
|
||||||
|
1730
|
||||||
|
1985
|
||||||
|
1614
|
||||||
|
1980
|
||||||
|
1554
|
||||||
|
1997
|
||||||
|
1960
|
||||||
|
1983
|
||||||
|
1848
|
||||||
|
1883
|
||||||
|
1968
|
||||||
|
1729
|
||||||
|
1716
|
||||||
|
628
|
||||||
|
1472
|
||||||
|
1676
|
||||||
|
1943
|
||||||
|
1821
|
||||||
|
1681
|
||||||
|
1619
|
||||||
|
1644
|
||||||
|
842
|
||||||
|
1492
|
||||||
|
1633
|
||||||
|
1921
|
||||||
|
775
|
||||||
|
1861
|
||||||
|
1584
|
||||||
|
1974
|
||||||
|
585
|
||||||
|
1898
|
||||||
|
1560
|
||||||
|
1708
|
||||||
|
1927
|
||||||
|
1563
|
||||||
|
1872
|
||||||
|
1876
|
||||||
|
1865
|
||||||
|
1535
|
||||||
|
1994
|
||||||
|
1756
|
||||||
|
1662
|
||||||
|
1621
|
||||||
|
1993
|
||||||
|
1825
|
||||||
|
1679
|
||||||
|
1959
|
||||||
|
1691
|
||||||
|
1875\
|
||||||
|
"""
|
||||||
|
input = [int(n) for n in data.split("\n")]
|
||||||
|
|
||||||
|
from itertools import combinations
|
||||||
|
|
||||||
|
solution = [(a,b) for a, b in combinations(input, r=2) if a+b == 2020]
|
||||||
|
for a,b in solution:
|
||||||
|
print(f"{a} * {b} = {a * b}")
|
||||||
|
|
||||||
|
solution = [(a,b,c) for a, b, c in combinations(input, r=3) if a+b+c == 2020]
|
||||||
|
for a,b,c in solution:
|
||||||
|
print(f"{a} * {b} * {c} = {a * b * c}")
|
||||||
81
poetry.lock
generated
Normal file
81
poetry.lock
generated
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
[[package]]
|
||||||
|
name = "certifi"
|
||||||
|
version = "2020.11.8"
|
||||||
|
description = "Python package for providing Mozilla's CA Bundle."
|
||||||
|
category = "main"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "chardet"
|
||||||
|
version = "3.0.4"
|
||||||
|
description = "Universal encoding detector for Python 2 and 3"
|
||||||
|
category = "main"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "idna"
|
||||||
|
version = "2.10"
|
||||||
|
description = "Internationalized Domain Names in Applications (IDNA)"
|
||||||
|
category = "main"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "requests"
|
||||||
|
version = "2.25.0"
|
||||||
|
description = "Python HTTP for Humans."
|
||||||
|
category = "main"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
certifi = ">=2017.4.17"
|
||||||
|
chardet = ">=3.0.2,<4"
|
||||||
|
idna = ">=2.5,<3"
|
||||||
|
urllib3 = ">=1.21.1,<1.27"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"]
|
||||||
|
socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "urllib3"
|
||||||
|
version = "1.26.2"
|
||||||
|
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||||
|
category = "main"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
brotli = ["brotlipy (>=0.6.0)"]
|
||||||
|
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
|
||||||
|
socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"]
|
||||||
|
|
||||||
|
[metadata]
|
||||||
|
lock-version = "1.1"
|
||||||
|
python-versions = "~3.8"
|
||||||
|
content-hash = "dd038e74b7f412b5a36ceb304626f13577bf3eedea259a0b6194da7b32a41b04"
|
||||||
|
|
||||||
|
[metadata.files]
|
||||||
|
certifi = [
|
||||||
|
{file = "certifi-2020.11.8-py2.py3-none-any.whl", hash = "sha256:1f422849db327d534e3d0c5f02a263458c3955ec0aae4ff09b95f195c59f4edd"},
|
||||||
|
{file = "certifi-2020.11.8.tar.gz", hash = "sha256:f05def092c44fbf25834a51509ef6e631dc19765ab8a57b4e7ab85531f0a9cf4"},
|
||||||
|
]
|
||||||
|
chardet = [
|
||||||
|
{file = "chardet-3.0.4-py2.py3-none-any.whl", hash = "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"},
|
||||||
|
{file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"},
|
||||||
|
]
|
||||||
|
idna = [
|
||||||
|
{file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"},
|
||||||
|
{file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"},
|
||||||
|
]
|
||||||
|
requests = [
|
||||||
|
{file = "requests-2.25.0-py2.py3-none-any.whl", hash = "sha256:e786fa28d8c9154e6a4de5d46a1d921b8749f8b74e28bde23768e5e16eece998"},
|
||||||
|
{file = "requests-2.25.0.tar.gz", hash = "sha256:7f1a0b932f4a60a1a65caa4263921bb7d9ee911957e0ae4a23a6dd08185ad5f8"},
|
||||||
|
]
|
||||||
|
urllib3 = [
|
||||||
|
{file = "urllib3-1.26.2-py2.py3-none-any.whl", hash = "sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473"},
|
||||||
|
{file = "urllib3-1.26.2.tar.gz", hash = "sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08"},
|
||||||
|
]
|
||||||
15
pyproject.toml
Normal file
15
pyproject.toml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
[tool.poetry]
|
||||||
|
name = "aoc_2020"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = "Advent of code 2020"
|
||||||
|
authors = ["Domenico Testa"]
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "~3.8"
|
||||||
|
requests = "^2.25.0"
|
||||||
|
|
||||||
|
[tool.poetry.dev-dependencies]
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry-core>=1.0.0"]
|
||||||
|
build-backend = "poetry.core.masonry.api"
|
||||||
Reference in New Issue
Block a user