본문 바로가기

hacking sorcerer

longest_palindrome.py

728x90
반응형

def is_palindrome(nums):
    n = len(nums)
    for i in range(n // 2):
        if nums[i] != nums[n - 1 - i]:
            return False
    return True


def find_mirror_core(heartbeats):
    n = len(heartbeats)
    best = []

    for start in range(n):
        for end in range(start + 1, n + 1):
            window = heartbeats[start:end]
            if len(window) > len(best) and is_palindrome(window):
                best = window

    return best

print(find_mirror_core([1, 2, 3, 2, 1, 9, 9])) # Expected: [1, 2, 3, 2, 1]
print(find_mirror_core([5, 6, 7, 8]))          # Expected: []
print(find_mirror_core([1, 2, 3, 2, 1, 1, 2, 3, 2, 1]))

728x90
반응형

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

lantern walking problem  (0) 2025.12.29
무한의 바둑 즐거움  (0) 2025.12.28
scavenger_hunt.py  (0) 2025.12.24
duplicated_zero.py  (0) 2025.12.23
do you like beef ?  (0) 2025.12.21