7. Filter, Map, Reduce Higher Order Functions
Filter let numbers = [1, 2, 3, 4, 3, 3] // Filter 사용 let filtered = numbers.filter{$0 == 3} filtered // [3, 3, 3] // for in var filteredArray = [Int]() for number in numbers { if number == 3 { filteredArray.append(number) } } filteredArray // [3, 3, 3] Filter는 배열중 원하는 값의 배열을 추출해 배열로 만들어 주는 고차함수 Map // Map 사용 let transformed = [1, 2, 3, 4].map({$0 * 2}) transformed // [2, 4, 6, 8] // for in var t..
6. Fibonacci Sequence
Fibonacci Sequence 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144와 같이 앞의 두 수의 합이 뒤의 수가 되는 수의 배열 func fibForNumSteps(_ numSteps : Int) -> [Int] { var sequence = [0, 1] if numSteps [Int] { if numSteps == 0 { return [] } print(first, second) return [first + second] + fibRecursionForNumSteps(numSteps - 1, second, first + second) } [0, 1] + fibRecursionForNumSteps(10, 0, 1) // [0, 1, 1, 2, 3, 5, 8, 13,..