• # autre py sans classe

    Posté par (site web personnel, Mastodon) . En réponse au message Avent du Code, jour 5. Évalué à 1.

    ou old school :)

    def solve(StacksList, lines, step=1):
     for CranesCount, StackStart, StackDest in lines:
     StacksList[StackDest] += StacksList[StackStart][-CranesCount:][::step]
     StacksList[StackStart] = StacksList[StackStart][:-CranesCount]
     return "".join(s[-1] for s in StacksList)
    data, lines = open("./input").read().split("\n\n")
    StacksList = [
     "".join(column).rstrip()
     for i, column in enumerate(zip(*data.splitlines()[-2::-1]))
     if i % 4 == 1
    ]
    lines = [
     (int(line[1]), int(line[3]) - 1, int(line[5]) - 1)
     for line in map(str.split, lines.splitlines())
    ]
    print(solve(StacksList.copy(), lines, -1))
    print(solve(StacksList.copy(), lines))

    pas classieux mais ça a fait le job.

    "It is seldom that liberty of any kind is lost all at once." ― David Hume