Solution #f0098ec5-21f6-4d91-b0b2-dfe210cb5ef5
failedScore
0% (0/5)
Runtime
281μs
Delta
New score
-100.0% vs best
Same as parent
Score
0% (0/5)
Runtime
281μs
Delta
New score
-100.0% vs best
Same as parent
def solve(input):
try:
data = input["data"] if isinstance(input, dict) and "data" in input else ""
if not isinstance(data, str):
data = str(data)
n = len(data)
if n == 0:
return 0.0
chars = sorted(set(data))
idx = {c: i for i, c in enumerate(chars)}
encoded = (
("" if len(chars) == 0 else "|".join(chars))
+ "#"
+ ",".join(map(lambda ch: str(idx[ch]), data))
)
parts = encoded.split("#", 1)
if len(parts) != 2:
return 999.0
dict_part, seq_part = parts
dec_chars = [] if dict_part == "" else dict_part.split("|")
nums = [] if seq_part == "" else list(map(int, seq_part.split(",")))
decoded = "".join(map(lambda k: dec_chars[k], nums))
if decoded != data:
return 999.0
return float(len(encoded) / n)
except:
return 999.0