Advent of code
Jump to navigation
Jump to search
Some tips to solve https://adventofcode.com/.
Get input.txt
A Makefile rule:
YEAR=2024
input.txt: ../cookie.txt
DAY=$$(basename $$(pwd)); wget -O $@ --header="Cookie: $$(cat ../cookie.txt)" https://adventofcode.com/$(YEAR)/day/$${DAY##day}/input
Get content of ../cookie.txt (collect using Firefox developers / storage panel):
session=aaaaaaaaaaaaaabbbbbbbbbbbbbbcccccccccccccddddddddddde1111111222222222333333333444444444555555555555
I/O
Read a list of numbers
Code | Output |
---|---|
print("Input:")
for line in open(INPUT):
print(line.strip())
|
Input:
3 4
4 3
2 5
1 3
3 9
3 3
|
F=[] # Flat
for line in open(INPUT):
numbers = list(map(int,line.split()))
F.extend(numbers)
print(f"{F}")
|
[3, 4, 4, 3, 2, 5, 1, 3, 3, 9, 3, 3]
|
L=[] # List
for line in open(INPUT):
numbers = list(map(int,line.split()))
L.append(numbers)
print(f"{L}")
|
[[3, 4],
[4, 3],
[2, 5],
[1, 3],
[3, 9],
[3, 3]]
|
Read a list of miscellaneous data
See also:
Code | Output |
---|---|
print("Input:")
for line in open(INPUT):
print(line.strip())
|
Input:
ABC 3 FGH 4
IZP 4 XYZ 3
KIJ 2 FGH 5
ABC 1 TYE 3
FIS 3 FGH 9
ABC 3 FGH 3
|
INPUT2='small2.txt'
L = []
for line in open(INPUT2):
matches = re.findall(r'([A-Z]+|\d+)',line)
L.append(matches)
print(f"{L}")
|
['ABC', '3', 'FGH', '4'],
['IZP', '4', 'XYZ', '3'],
['KIJ', '2', 'FGH', '5'],
['ABC', '1', 'TYE', '3'],
['FIS', '3', 'FGH', '9'],
['ABC', '3', 'FGH', '3']]
|