コード例 #1
0
ファイル: day2a.py プロジェクト: Sjerrul/Advent-Of-Code-2018
from collections import defaultdict

from common import input_parser

if __name__ == '__main__':
    boxIds = input_parser.read_file_lines("input.txt")

    parsedBoxIds = []

    for boxId in boxIds:
        characters = defaultdict(int)
        for char in boxId:
            characters[char] += 1

        parsedBoxIds.append(characters)

    idsWith2Letters = 0
    idsWith3Letters = 0

    for parsedBoxId in parsedBoxIds:
        if 2 in parsedBoxId.values():
            idsWith2Letters += 1
        if 3 in parsedBoxId.values():
            idsWith3Letters += 1

    print("result:", idsWith2Letters * idsWith3Letters)
コード例 #2
0
import operator

from common import input_parser, utilities as util

from day4.logic.Entry import Entry
import day4.logic.parser as parser
import day4.logic.analyser as analyser

if __name__ == '__main__':
    puzzle_input = input_parser.read_file_lines("input.txt")

    entries = [Entry(line) for line in puzzle_input]
    entries.sort(key=lambda e: e.date)

    guards = parser.parse_entries(entries)
    util.print_items_in_list(guards)

    most_asleep_guard = analyser.get_most_asleep_guard(guards)

    print("Most asleep guard:", most_asleep_guard)

    index, value = max(enumerate(most_asleep_guard.minutes),
                       key=operator.itemgetter(1))
    print("most asleep minute:", index)
    print("answer", most_asleep_guard.id * index)
コード例 #3
0
ファイル: day3b.py プロジェクト: Sjerrul/Advent-Of-Code-2018
    return [[0] * size for _ in range(size)]


def print_matrix(matrix):
    print(len(matrix[0]))
    line = ""
    for y in range(0, len(matrix[0])):
        line = line + str(y) + ": "
        for x in range(0, len(matrix[0])):
            line = line + str(matrix[x][y])
        print(line)
        line = ""


if __name__ == '__main__':
    content = input_parser.read_file_lines("input.txt")
    claims = parse_input(content)

    matrix = generate_matrix(1000)
    print_matrix(matrix)

    for claim in claims:
        x_indexes = range(claim.x, claim.x + claim.width)
        y_indexes = range(claim.y, claim.y + claim.height)

        print(x_indexes)
        print(y_indexes)

        for x in x_indexes:
            for y in y_indexes:
                matrix[x][y] = matrix[x][y] + 1