import Foundation
func halvesEqual(_ n: Int) -> Bool {
let s = String(n)
let len = s.count
// Cannot split evenly
if len % 2 != 0 {
return false
}
let half = len / 2
let midIndex = s.index(s.startIndex, offsetBy: half)
let left = s[s.startIndex..<midIndex]
let right = s[midIndex..<s.endIndex]
return left == right
}
func main() {
let testNumbers = [1212, 123123, 45454545, 123, 1213]
for n in testNumbers {
print("\(n) -> \(halvesEqual(n) ? "equal halves" : "not equal")")
}
}
main()
/*
run:
1212 -> equal halves
123123 -> equal halves
45454545 -> equal halves
123 -> not equal
1213 -> not equal
*/