advent-of-code/2018/d02/ex1/ex1.py

25 lines
500 B
Python
Raw Normal View History

2024-12-29 20:43:26 +01:00
#!/usr/bin/env python
import sys
from collections import Counter
def solve(input: str) -> int:
def any_letter(boxes: list[str], count: int) -> int:
return sum(count in Counter(box).values() for box in boxes)
def checksum(boxes: list[str]) -> int:
return any_letter(boxes, 2) * any_letter(boxes, 3)
boxes = input.splitlines()
return checksum(boxes)
def main() -> None:
input = sys.stdin.read()
print(solve(input))
if __name__ == "__main__":
main()