본문 바로가기

Swift Algorithms

(11)
3. Factorials & Recursion Factorial Factorials란 어떤 정수까지의 곱을 말한다 예를 들어 3까지의 곱이라면 1X2X3 = 6이고 5까지의 곱이라면 1X2X3X4X5 = 120을 말한다. Factoial의 중요한점은 Factoial 0의 값은 1이다 (1 Factoial의 값은 당연히 1) func factorialOfValue(value : Int) -> Int { if value == 0 { return 1 } var product : Int = 1 for i in 1...value { product = product * i } return product } factorialOfValue(value: 3) factorialOfValue(value: 5) 위 예제에서 value 값을 3을 넣으면 3은 == 0과 같..
2. Binary Search Binary Search Binary Search는 오름차순으로 정렬된 데이터의 배열에서 원하는 값을 찾는 알고리즘 배열 중간의 임의의 값을 선택하고 원하는 값을 비교하여 원하는 값이 중간 값보다 작으면 좌측 데이터의 중심 다시 데이터 값을 비교하고 원하는 값이 중간 값보다 크면 우측 데이터 중심에서 값을 비교하는 것을 반복하여 값을 찾는 과정 검색 원리상 정렬된 리스트에만 사용할 수 있다는 단점이 있으나 검색이 반복될 때마다 목푯값을 찾을 확률은 두 배가 되므로 속도가 빠르다는 장점 let numbers = [1, 2, 4, 6, 8, 9, 11, 13, 16, 17, 20] var hundred = [Int]() for i in 1...100 { hundred.append(i) } func binar..
1. Fizz Buzz Fizz Buzz FizzBuzz는 3의 배수에서 Fizz, 5의 배수에서는 Buzz, 3의 배수인 동시에 5의 배수에는 FizzBuzz를 출력하는 예제입니다 let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] var oneThousandNumbers = [Int]() for i in 1...1000 { oneThousandNumbers.append(i) } for num in oneThousandNumbers { if num % 15 == 0 { print("\(num) Fizz Buzz") }else if num % 5 == 0 { print("\(num) Buzz") }else if num % 3 == 0 { print("\(num)..