def all_inputs(): for i in range(2015, 2021): Path(f'{i}').mkdir(parents=True, exist_ok=True) for j in range(1, 26): with open(f'{i}/day{j}.py', mode='a+') as py: if Path(f'{i}/day{j}.py').stat().st_size == 0: py.write(template().replace('{day}', str(j))) with open(f'{i}/day{j}_input.txt', mode='a+') as txt: if Path(f'{i}/day{j}_input.txt').stat().st_size == 0: txt.write(aoc_helper.fetch(j, i))
def get_today(): # needs to be fixed for other timezones today = date.today() d, m, y = today.day, today.month, today.year if m == 12: with open(f'{y}/day{d}.py', mode='a+') as py: if Path(f'{y}/day{d}.py').stat().st_size == 0: py.write(template().replace('{day}', str(d))) with open(f'{y}/day{d}_input.txt', mode='w') as txt: txt.write(aoc_helper.fetch(d, y)) return print('no AOC for today')
import aoc_helper raw = aoc_helper.fetch(5, year=2020) # print(raw) def decode_seat(seat): lower_y, upper_y = 0, 127 lower_x, upper_x = 0, 7 for char in seat: mid_y = (upper_y + lower_y) // 2 mid_x = (upper_x + lower_x) // 2 if char == "F": upper_y = mid_y elif char == "B": lower_y = mid_y elif char == "L": upper_x = mid_x else: lower_x = mid_x return upper_x, upper_y def parse_raw(): return [decode_seat(seat) for seat in raw.splitlines()] data = parse_raw() def part_one():
continue parse_line(line.strip(), bags, color_table) return bags[color_table["shiny gold"]] # shiny_gold = parse_input( # """ # light red bags contain 1 bright white bag, 2 muted yellow bags. # dark orange bags contain 3 bright white bags, 4 muted yellow bags. # bright white bags contain 1 shiny gold bag. # muted yellow bags contain 2 shiny gold bags, 9 faded blue bags. # shiny gold bags contain 1 dark olive bag, 2 vibrant plum bags. # dark olive bags contain 3 faded blue bags, 4 dotted black bags. # vibrant plum bags contain 5 faded blue bags, 6 dotted black bags. # faded blue bags contain no other bags. # dotted black bags contain no other bags. # """ # ) # print shiny_gold.num_containers() if __name__ == "__main__": import aoc_helper from pathlib import Path import os aoc_helper.DATA_DIR = repr( Path(os.path.realpath(__file__)).parent.parent / "inputs" ) inp = aoc_helper.fetch(7, 2020) print(parse_input(inp).num_containers())
import aoc_helper from part1 import parse_input, Bag if __name__ == "__main__": # print( # parse_input( # """ # shiny gold bags contain 2 dark red bags. # dark red bags contain 2 dark orange bags. # dark orange bags contain 2 dark yellow bags. # dark yellow bags contain 2 dark green bags. # dark green bags contain 2 dark blue bags. # dark blue bags contain 2 dark violet bags. # dark violet bags contain no other bags. # """ # ).how_many_inside # ) import aoc_helper data = aoc_helper.fetch(7, 2020) aoc_helper.submit(7, 2, parse_input(data).how_many_inside, 2020)