적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Algorithm/참고

Swift 반복문

hongssup_ 2022. 10. 29. 09:35
반응형

stride

x부터 y까지 z만큼의 간격으로 반복문을 돌리는 것.

for i in stride(from: x, to: y, by: z

: x ~ y 까지 반복문을 돌리는데, y는 포함시키지 않음. x ≤ range < y

for i in stride(from: x, through: y, by: z)

: y 까지 포함하여 x ~ y 까지 반복문 돌리기. x ≤ range ≤ y

for i in stride(from: 5, to: 1, by: -1) {
    print(i) //5 4 3 2
}

for i in stride(from: 5, through: 1, by: -1) {
    print(i) //5 4 3 2 1
}

단순히 하나씩이 아니라 n 씩 건너 뛰면서 반복문을 돌리거나,

주어진 순서와 반대로 반복문을 돌리고 싶을 때 사용하기 좋다. 

 

enumerated()

Array 내에 있는 함수로, 배열의 index와 해당 index의 요소를 함께 가져오고 싶을 때 사용할 수 있다.

다음과 같이 for문 혹은 forEach로 사용할 수 있는데, 두 가지 방법 다 결과는 동일하다. 

let array = ["one", "two", "three", "four", "five"]

for (index, value) in array.enumerated() {
    print("\(index+1): \(value)")  //1: one ...
}
array.enumerated().forEach { index, value in
    print("\(index+1): \(value)")  //1: one ...
}

 

728x90
반응형

'Algorithm > 참고' 카테고리의 다른 글

modulo 10^9 + 7 이란? + 쓰는 이유?  (0) 2022.11.13
사소한 궁금증들  (0) 2022.11.13
코테공부 시행착오  (0) 2022.10.27
[Swift 알고리즘] 소수 판별  (2) 2022.02.28
[Swift] 나누기  (0) 2022.02.11