Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 프로그래머스 배열 만들기1
- 문자열 붙여서 출력하기
- 객체지향
- 연산자
- 문자열 정렬하기 (1)
- 프로그래머스 n의 배수 고르기
- 프로그래머스 문자열 붙여서 출력하기
- 프로그래머스
- 프로그래머스 최댓값 만들기(2)
- continue
- Break
- swift
- 주사위 게임1
- 프로그래머스 조건에 맞게 수열 변경하기 3
- 스페인어
- 스파르타 코딩클럽 내일배움캠프
- 배열 만들기1
- 프로그래머스 문자열 정렬하기 (1)
- array
- cocoapods 설치 오류
- 프로그래머스 n번째 원소까지
- n번째 원소까지
- 프로그래머스 주사위 게임1
- ruby설치
- Til
- 조건에 맞게 수열 변경하기 3
- Error installing cocoapods
- 스파르타코딩캠프
- 프로그래머스 암호 해독
- 프로그래머스 자동커밋
Archives
- Today
- Total
dev._.note
[Swift] reverse() 와 reversed()의 차이점 본문
👏 reverse() 와 reversed()의 차이
Array를 사용하다보면 배열을 반대로 뒤집기 위해서 위 메서드들을 사용하는 경우가 있는데 차이점을 알기 어려워서
공식문서로 해당 메소드를 찾아보니 시간복잡도(Complexity)가 다른 것을 발견했다.
reverse 의 경우 아래와 같이 O(n)의 시간복잡도가 발생하는 것을 알 수 있다. mutating func 이다보니 배열에서 각각의 위치들을 변경하는 동작을 수행하기에 시간복잡도(Complexity)가 O(n)이 되는 것으로 보인다.
https://developer.apple.com/documentation/swift/array/reverse()
reverse 와 다르게 reversed 메소드의 경우는 시간복잡도가 O(1)에 불과하다. non-mutating func 이다보니 선회하면서 모든 element들의 위치를 변경시켜주는 동작을 하는 것이기 때문이다.
https://developer.apple.com/documentation/swift/int/words-swift.struct/reversed()
'Dev > SWIFT' 카테고리의 다른 글
[Swift] enumerated() 배열의 인덱스 가져오기 (0) | 2023.10.26 |
---|---|
[Swift] zip 함수 (0) | 2023.10.26 |
[Swift] Int형 정수 (0) | 2023.10.25 |
[Swift] Array(배열) 기초문법 (0) | 2023.10.25 |
[Swift] 고차함수(Higher-order Function) (0) | 2023.10.24 |