Skip to content

Instantly share code, notes, and snippets.

@chadparker
Last active April 25, 2020 01:16
Show Gist options
  • Select an option

  • Save chadparker/9c1a30dff3646499dae2e3b8b67cad46 to your computer and use it in GitHub Desktop.

Select an option

Save chadparker/9c1a30dff3646499dae2e3b8b67cad46 to your computer and use it in GitHub Desktop.
import Foundation
func expandTheNumber(_ number: Int) -> [Int] {
// get array of digits
let digits = String(number).map { Int(String($0))! }
// get array of reversed indexes, i.e. [2, 1, 0]
let reversedIndexes = Array(digits.enumerated().map { $0.offset }.reversed())
// multiply each digit by 10 to the power of corresponding reversedIndex
return digits.enumerated().map { $0.element * Int(pow(Double(10), Double(reversedIndexes[$0.offset]))) }
}
expandTheNumber(199) // [100, 90, 9]
expandTheNumber(100) // [100, 0, 0]
expandTheNumber(0) // [0]
expandTheNumber(562) // [500, 60, 2]
expandTheNumber(5280) // [5000, 200, 80, 0]
expandTheNumber(560) // [500, 60, 0]
// for (offset, element) in digits.enumerated() {
// //print("\(element) * \(pow(10, reversedIndex[offset]))")
// print(element * Int(pow(Double(10), Double(reversedIndex[offset]))))
// }
//print(
// Array(
// String(199).enumerated().map { Int(String($0.element))! * Int(pow(Double(10), Double($0.offset))) }
// )
//)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment