44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
from tools.aoc import AOCDay
|
|
from typing import Any
|
|
|
|
|
|
class Day(AOCDay):
|
|
inputs = [
|
|
[
|
|
(862, "input3"),
|
|
],
|
|
[
|
|
(1577, "input3"),
|
|
],
|
|
]
|
|
|
|
def part1(self) -> Any:
|
|
ans = 0
|
|
for triangle in self.getIntsFromInput():
|
|
if (
|
|
triangle[0] + triangle[1] <= triangle[2]
|
|
or triangle[0] + triangle[2] <= triangle[1]
|
|
or triangle[1] + triangle[2] <= triangle[0]
|
|
):
|
|
continue
|
|
ans += 1
|
|
return ans
|
|
|
|
def part2(self) -> Any:
|
|
vertical = self.getIntsFromInput()
|
|
ans = 0
|
|
for x in range(0, len(vertical), 3):
|
|
for i in range(3):
|
|
if (
|
|
vertical[x][i] + vertical[x + 1][i] > vertical[x + 2][i]
|
|
and vertical[x][i] + vertical[x + 2][i] > vertical[x + 1][i]
|
|
and vertical[x + 1][i] + vertical[x + 2][i] > vertical[x][i]
|
|
):
|
|
ans += 1
|
|
return ans
|
|
|
|
|
|
if __name__ == "__main__":
|
|
day = Day(2016, 3)
|
|
day.run(verbose=True)
|