오름 차순/ 내림 차순
// 오름 차순 정렬
[].sorted()
[].sort() // 원본 배열 변형
// 내림 차순 정렬
[].sorted { $0 > $1 }
stride
stride(from:to:by:) // 종료 값 미포함
stride(from:through:by:) // 종료 값 포함
소수 판별
func isPrime(_ number: Int) -> Bool {
guard number > 1 else { return false } // 1 이하는 소수가 아님
if number == 2 { return true } // 2는 소수
if number % 2 == 0 { return false } // 짝수는 소수가 아님
// 소수가 아닐 경우, n = a × b 형태로 치환 가능
// a,b중 반드시 1개의 수는 sqrt(n) 보다 작음
// 소수가 아니라면, 반드시 제곱근 보다 작은 약수가 존재
let sqrtNum = Int(sqrt(Double(number)))
return stride(from: 3, through: sqrtNum, by: 2).allSatisfy { number % $0 != 0 }
}
문자열 → 문자열 배열로 변형
// 문자열을 문자열 배열로 변형
// char로 변환 map
string.map { String($0) }
전체 합
numbers.reduce(0, +) //numbers: [Int]
딕셔너리
var dic = [1: 0, 2: 0, 3: 0]
// value 배열
dic.values
// key 배열
dic.keys
// value 가져오기
dic[key]
// value 제거
dic.removeValue(for: key)
// (key, value) 순회
for (key, value) in dic {
print("\\(key): \\(value)")
}
최대, 최소
// Comparable 프로토콜 준수 최대, 최소 값
arr.max() // arr에서 최대
max(value1, value2) // 두 값중 큰 값