소스 검색

Solve day 6

Taddeus Kroes 2 달 전
부모
커밋
b62523166e
2개의 변경된 파일22개의 추가작업 그리고 0개의 파일을 삭제
  1. 22 0
      2025/06_math.py
  2. 0 0
      2025/input/6

+ 22 - 0
2025/06_math.py

@@ -0,0 +1,22 @@
+#!/usr/bin/env python3
+import sys
+from functools import reduce
+from operator import add, mul
+
+def parse(f):
+    lines = f.readlines()
+    indices, ops = zip(*((i, (add, mul)['+*'.index(char)])
+                         for i, char in enumerate(lines.pop())
+                         if char in '+*'))
+    indices += (len(lines[-1]),)
+    for i, op in enumerate(ops):
+        start, end = indices[i:i + 2]
+        nums = tuple(line[start:end - 1] for line in lines)
+        yield op, nums
+
+def transpose(nums):
+    return tuple(int(''.join(n)) for n in zip(*nums))
+
+ops = list(parse(sys.stdin))
+print(sum(reduce(op, map(int, nums)) for op, nums in ops))
+print(sum(reduce(op, transpose(nums)) for op, nums in ops))

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
2025/input/6


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.