def main(): inputHandle = loadFile("01/input.txt") massList = fileToList(inputHandle, "\n") totalFuel = sum([calculateFuel(mass) for mass in massList]) print(totalFuel)
def main(): inputHandle = loadFile("08/input.txt") content = inputHandle.read() inputList = list(content) inputIntList = list(map(int, inputList)) horizontalChunks = list(chunks(inputIntList, 25)) layerChunks = list(chunks(horizontalChunks, 6)) layerChunks.reverse() # Flatten image imageValues = None for i, layer in enumerate(layerChunks): if i == 0: imageValues = layer continue for ii, row in enumerate(layer): for iii, digit in enumerate(row): if digit != 2: imageValues[ii][iii] = digit # Convert to RGBa for ii, row in enumerate(imageValues): for iii, digit in enumerate(row): if digit == 0: # Black imageValues[ii][iii] = (0, 0, 0, 255) if digit == 1: # White imageValues[ii][iii] = (255, 255, 255, 255) if digit == 2: # Transparent imageValues[ii][iii] = (0, 0, 0, 0) flattened = [val for sublist in imageValues for val in sublist] img = Image.new("RGBA", (25, 6)) img.putdata(flattened) img.show()
def main(): inputHandle = loadFile("08/input.txt") content = inputHandle.read() inputList = list(content) inputIntList = list(map(int, inputList)) horizontalChunks = list(chunks(inputIntList, 25)) layerChunks = list(chunks(horizontalChunks, 6)) leastZeros = None leastZerosIndex = None for lIndex, layer in enumerate(layerChunks): zeroCount = 0 for line in layer: zeroCount += line.count(0) if leastZeros is None: leastZeros = zeroCount leastZerosIndex = lIndex continue if zeroCount < leastZeros: leastZeros = zeroCount leastZerosIndex = lIndex ones = 0 twos = 0 for line in layerChunks[leastZerosIndex]: ones += line.count(1) twos += line.count(2) print(ones * twos)
def main(): fh = loadFile("03/input.txt") content = fh.read() lines = content.split("\n") path1 = lines[0].split(",") path2 = lines[1].split(",") cord1 = getCoordinates(path1) cord2 = getCoordinates(path2) intersections = findIntersections(cord1, cord2) print(getClosestIntersection(intersections))
def main(): inputHandle = loadFile("06/input.txt") inputList = fileToList(inputHandle, "\n") orbits = [x.split(")") for x in inputList] g = nx.Graph() for a, b in orbits: g.add_edge(b, a) path = nx.shortest_path_length(g, source="H4S", target="NRN") print(path)
def main(): inputHandle = loadFile("07/input.txt") program = fileToIntList(inputHandle, ",") phaseSettings = list(permutations([0, 1, 2, 3, 4], 5)) highestSignal = 0 for phaseSetting in phaseSettings: currentSignal = runPermutation(program, phaseSetting) if currentSignal > highestSignal: highestSignal = currentSignal print(highestSignal)
def main(): inputHandle = loadFile("06/input.txt") inputList = fileToList(inputHandle, "\n") orbits = [x.split(")") for x in inputList] g = nx.DiGraph() for a, b in orbits: g.add_edge(b, a) paths = nx.shortest_path(g) l1 = list() for item in paths.values(): for x in item.values(): if len(x) > 1: l1.append(x) print(len(l1))
def main(): inputVal = 5 inputHandle = loadFile("05/input.txt") program = fileToList(inputHandle, ",") intcode.run(inputVal, program)
def main(): inputVal = 2 inputHandle = loadFile("09/input.txt") program = parseIntCode(inputHandle) intcode.run(inputVal, program)