One question that they asked me was a coding question about string and bit manipulation. The question was to sum two strings, where each string was a string of '0's and '1's.
Anonymous
class Problem { var a: String var b: String init(a: String, b: String) { self.a = a self.b = b } func solve() { var aIndex: String.Index? = a.endIndex var bIndex: String.Index? = b.endIndex var extraDigit = 0 var reversed = "" while aIndex != nil || bIndex != nil || extraDigit != 0 { if aIndex == a.startIndex { aIndex = nil } if bIndex == b.startIndex { bIndex = nil } var aDigit = 0 if aIndex != nil { aIndex = a.index(before: aIndex!) let aChar = a[aIndex!] aDigit = Int(String(aChar)) ?? 0 } var bDigit = 0 if bIndex != nil { bIndex = b.index(before: bIndex!) let bChar = b[bIndex!] bDigit = Int(String(bChar)) ?? 0 } if aIndex != nil || bIndex != nil || extraDigit != 0 { var resultDigit = aDigit + bDigit + extraDigit extraDigit = resultDigit / 2 resultDigit = resultDigit % 2 reversed = reversed + String(resultDigit) } else { break } } if reversed == "" { reversed = "0" } let result = String(reversed.reversed()) print(result) } }
Check out your Company Bowl for anonymous work chats.