object CompareStrings:
def atLeastHalfEqual(s1: String, s2: String): Boolean =
// Check equal length and non‑empty
if s1.isEmpty || s1.length != s2.length then
false
else
var matches = 0
val len = s1.length
// Compare character‑by‑character (Pascal semantics)
for i <- 0 until len do
if s1(i) == s2(i) then
matches += 1
// matches / len ≥ 0.5 → 2 * matches ≥ len
matches * 2 >= len
@main def run(): Unit =
println(atLeastHalfEqual("abcde", "axcfz"))
println(atLeastHalfEqual(
"javascript c# c++ c python",
"javascript c# r c rust sql"
))
/*
run:
false
true
*/