Rep-string: Difference between revisions

1,050 bytes added ,  4 years ago
Add Swift
(Add Swift)
Line 2,924:
0𝟘
1 (no repeat)</pre>
 
=={{header|Swift}}==
 
<lang swift>import Foundation
 
func repString(_ input: String) -> [String] {
return (1..<(1 + input.count / 2)).compactMap({x -> String? in
let i = input.index(input.startIndex, offsetBy: x)
return input.hasPrefix(input[i...]) ? String(input.prefix(x)) : nil
})
}
 
let testCases = """
1001110011
1110111011
0010010010
1010101010
1111111111
0100101101
0100100
101
11
00
1
""".components(separatedBy: "\n")
 
for testCase in testCases {
print("\(testCase) has reps: \(repString(testCase))")
}</lang>
 
{{out}}
 
<pre>1001110011 has reps: ["10011"]
1110111011 has reps: ["1110"]
0010010010 has reps: ["001"]
1010101010 has reps: ["10", "1010"]
1111111111 has reps: ["1", "11", "111", "1111", "11111"]
0100101101 has reps: []
0100100 has reps: ["010"]
101 has reps: []
11 has reps: ["1"]
00 has reps: ["0"]
1 has reps: []</pre>
 
=={{header|Tcl}}==