반응형
안녕하세요. KataRN입니다.
자주 쓰지 않아서 잊어버리게 되는 함수들을 적어둘까합니다.
참고용입니다.
소수점 다루기
1. 반올림 : round()
2. 올림 : ceil()
3. 내림 : floor()
floor(-3.453) // -4.0
floor(-3.658) // -4.0
4. 버림 : trunc()
trunc(-3.453) // -3.0
trunc(-3.658) // -3.0
5. 특정 자리수
- 4번째 자리에서 반올림
let digit: Double = pow(10, 3) // 10의 3제곱
round(5.123123 * digit) / digit // 5.123
- 4번째 자리에서 올림
let digit: Double = pow(10, 3) // 10의 3제곱
ceil(5.123123 * digit) / digit // 5.124
- 4번째 자리에서 내림
let digit: Double = pow(10, 3) // 10의 3제곱
floor(5.123123 * digit) / digit // 5.123
6. n번째 소수점 자르기
let decimal = 5.1231283712893781293
String(format: "%.3f", decimal) // "5.123"
String(format: "%.6f", decimal) // "5.123128"
절대값
1. ().magnitude -> UInt
2. abs(-123) -> Int
제곱값(N의 3승)
1. pow(N, 3)
let num = pow(2.0, 0)
let result = NSDecimalNumber(decimal: num)
let answer = Int(truncating: result)
이진수
10진 -> 2진
let num = String(10, radix: 2)
print(num) //1010
2진 -> 10진
let num = Int("1010", radix: 2)
print(num) //10
범위
(1...26) -> 1~26
(UInt32("A")...UInt32("Z")) -> A ~ Z
- 사용법 : (UInt32("A")...UInt32("Z")): String(UnicodeScalar($0)!)
let str: String = "A"
let number: Int = Int(UnicodeScalar(str)!.value)
print(number) // 65
이진탐색("둘로 나누어"와, "정렬되어 있는 자료만 가능")
// 재귀 함수로 구현하기
func binarySearch(_ array: [Int], num: Int) -> Bool {
if array.count == 1 {
return array[0] == num ? true : false
}
let mid = array.count / 2
let range = array[mid] > num ? (0..<mid) : ((mid + 1)..<array.count)
return binarySearch(Array(array[range]), num: num)
}
반응형
'Old_SWIFT(221012) > 코딩테스트' 카테고리의 다른 글
약수의 개수 구하기 (0) | 2022.06.07 |
---|---|
글자 < - > 숫자 변환 UnicodeScalar() 다루기 (0) | 2022.06.03 |
순열과 조합 (0) | 2021.11.15 |
소수 구하기 (0) | 2021.10.18 |
최대공약수, 최소공배수 구하기 (0) | 2021.10.18 |