BobbyB - 4 months ago 26

Swift Question

I'm new so bare with me.

I'm playing on the website CodinGame. The task is to find the number closest to zero. This is what you are given.

`let n = Int(readLine()!)! // the number of temperatures to analyse`

let temps = readLine()! // the n temperatures expressed as integers ranging from -273 to 5526

I have no idea what to do. I'm guessing there is many way to go about it.

Answer

So you have a `String`

containing something like `"4 -6 8 12 -12"`

and you want extract the `Int`

closest to zero.

Here's the solution

```
import Foundation
let text = "4 -6 8 12 -12"
let numbers = text.componentsSeparatedByString(" ").flatMap { Int($0) }
if let closestToZero = numbers.minElement({ abs($0) < abs($1)}) {
print(closestToZero) // -1
}
```

Same logic, less code

```
let closestToZero = text.componentsSeparatedByString(" ")
.flatMap { Int($0) }
.minElement{ abs($0) < abs($1) }
```

Source (Stackoverflow)

Comments