Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
slice solution in Clear category for Cistercian Converter II: Cistercian To Integer by kurosawa4434
def cistercian(image: list[list[str]]) -> int:
cis_dict = {
(' ', ' ', ' '): 0,
('00', ' ', ' '): 1,
(' ', ' ', '00'): 2,
(' ', '0 ', ' 0'): 3,
(' 0', '0 ', ' '): 4,
('00', '0 ', ' '): 5,
(' 0', ' 0', ' 0'): 6,
('00', ' 0', ' 0'): 7,
(' 0', ' 0', '00'): 8,
('00', ' 0', '00'): 9,
}
result = 0
for i, (r, c) in enumerate(((0, 3), (0, 0), (4, 3), (4, 0))):
cis = tuple(map(''.join, (image[r][c: c + 2] for r in range(r, r + 3))))
if r == 4:
cis = tuple(reversed(cis))
if c == 0:
cis = tuple(map(''.join, map(reversed, cis)))
result += cis_dict[cis] * 10 ** i
return result
March 26, 2025