본문 바로가기

hacking sorcerer

mirror_swap.py

728x90
반응형

def alpha_value_char(c: str) -> int:
    # assumes c is 'a'..'z'
    return ord(c) - 96

def mirror_swap_checksum(s: str, k: int) -> int:
    arr = list(s)
    n = len(arr)

    # perform k swaps: swap (i-1, n-i) for i = 1..k
    for i in range(1, k + 1):
        left = i - 1
        right = n - i
        arr[left], arr[right] = arr[right], arr[left]

    # compute checksum
    result = 0
    for idx, c in enumerate(arr):   # idx is 0-based
        result += (idx + 1) * alpha_value_char(c)

    return result

if __name__ == "__main__":
    print(mirror_swap_checksum("abcd", 2))  # 20
    print(mirror_swap_checksum("azby", 1))  # 87

728x90
반응형

'hacking sorcerer' 카테고리의 다른 글

perfect_echo.py  (0) 2026.01.06
tryhackme juicy  (0) 2026.01.04
fun Probability Puzzle  (0) 2025.12.30
lantern walking problem-solving  (0) 2025.12.29
lantern walking problem  (0) 2025.12.29