Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
1-liner with takewhile solution in Creative category for Longest Common Prefix by roman.bratishchev
from itertools import takewhile
def longest_prefix(strings:list[str]) -> str:
return ''.join(map(lambda e:e[0],takewhile(lambda e:len(set(e))==1,zip(*strings))))
print("Example:")
print(repr(longest_prefix(["flower", "flow", "flight"])))
# These "asserts" are used for self-checking
assert longest_prefix(["flower", "flow", "flight"]) == "fl"
assert longest_prefix(["dog", "racecar", "car"]) == ""
assert longest_prefix(["apple", "application", "appetizer"]) == "app"
assert longest_prefix(["a"]) == "a"
assert longest_prefix(["", "b"]) == ""
assert longest_prefix(["same", "same", "same"]) == "same"
assert longest_prefix(["mismatch", "mister", "miss"]) == "mis"
assert longest_prefix(["alphabet", "alpha", "alphadog"]) == "alpha"
assert longest_prefix(["book", "boot", "booster"]) == "boo"
assert longest_prefix(["short", "shore", "shot"]) == "sho"
print("The mission is done! Click 'Check Solution' to earn rewards!")
Aug. 13, 2024