filter
예시
func solution(_ n:Int, _ numlist:[Int]) -> [Int] {
let answer = numlist.filter { $0 % n == 0 }
return answer
}
- filter는 조건에 맞는 요소들을 쉽게 뽑아주는 역할을 한다.
uppercased(), lowercased()
예시
word = hello
word.uppercased() // HELLO
word = HELLO
word.lowercased() // hello
replacingOccurrences
예시
word = aabee
word.replacingOccurrences(of: "a", with: "x")
word.replacingOccurrences(of: "a", with: "")
swapAt(num1, num2)
예시
num1 = 2
num2 = 4
stringArray = [0,1,2,3,4,5]
stringArray.swapAt(num1, num2)
contains
예시
var word = "hello"
word.contains("h")
word.contains("x")
- 특정 문자가 있나 없나를 확인하고 bool값을 반환해준다
enumerated
예시
for (n, c) in "Swift".enumerated() {
print("\(n): '\(c)'")
}
- 배열의 인덱스와 요소에 접근하기 편하다
- element는 요소 접근 offset은 인덱스 접근이다
예를들어
for (n, c) in "Swift".enumerated()가 아닌
for i in "Swift".enumerated()로 했다면
i.element, i.offset으로 활용 가능
map 활용
예시
dots = [[3, 1] , [1, 2], [2,6]]
var x = dots.map { $0[0] }.max()! - dots.map { $0[0] }.min()!
let arr = numbers.map { String($0) }
예시
var answer = ["1", "2", "3"]
answer.map ({Int($0)!})
answer.map ({ (value : String) -> Int in return Int(value)! })
reduce
예시
let numberArray = [1,2,3,4,5,6,7,8,9,10]
var sum = 0
for number in numberArray {
sum += number
}
print(sum)
let numberArray = [1,2,3,4,5,6,7,8,9,10]
let sum = numberArray.reduce(0) { $0 + $1 }
print(sum)
firstIndex(of: ), lastIndex(of:)
예시
let array = ["하나", "둘", "둘", "셋"]
let firstIndex = array.firstIndex(of: "둘")
let lastIndex = array.lastIndex(of: "둘")
print(firstIndex)
print(lastIndex)
- firstIndex(of:) 는 배열의 앞에서부터 조회해서 첫번째 일치하는 값의 index를 반환
lastIndex(of:) 는 배열의 뒤에서부터 조회해서 첫번째 일치하는 값의 index를 반환
suffix()
var phoneNumber = "01011112222"
phoneNumber.suffix(4)
- 문자열이나 배열에서 뒤에서 몇개를 구할때 사용
repeating
String(repeating: "수박", count: 3)
최대공약수 구하기
func gcd(_ a: Int, _ b: Int) -> Int {
if b == 0 {
return a
} else {
return gcd(b, a%b)
}
}
최소공배수 구하기
func lcm(_ a: Int, _ b: Int) -> Int {
return a * b / gcd(a, b)
}
String(n,radix: )
let flipToThree = String(n,radix: 3)
replacingOccurence(of: with:)
var test = "one4seveneight"
print(test.replacingOccurence(of:"one",with:"1")
- 문자열에서 특정 문자열을 수정하여 반환할때 사용한다
문자열 인덱스 범위로 뽑기
var array = [0,1,2,3,4,5,6]
var array2 = array[2...4]
insert(contentsOf:, at:)
var answer = "0"
answer.insert(contentsOf: "1",
at: answer.index(answer.startIndex, offsetBy: 0))
for i in stride()
for i in stride(from: 3, through: 12, by: 3) {
print(i)
}
for i in stride(from: 3, to: 12, by: 3) {
print(i)
}
- for문을 통해 원하는 숫자만큼 증가시킬때 사용
소수 찾기
func isPrime(_ n: Int) -> Bool {
guard n > 1 else { return false }
guard n != 2 else { return true }
var isPrime = true
for i in 2...Int((sqrt(Double(n))))+1 {
if n % i == 0 {
isPrime = false
break
}
}
return isPrime
}
isLetter
let Array = ["sd", "d#$"]
Array[0].isLetter
Array[1].isLetter
indices
let Array = ["a", "b", "c"]
for i in Array.indices {
print(i)
}
- 배열의 범위를 초과하지 않고 안전하게 불러올 수 있다.