어떤 분이 초기화되지 않은 버퍼에 액세스 할 수 있는 배열 초기화 프로그램을 만든 포스트를 보다가 작성하게 되었어요. forums.swift.org/t/array-initializer-with-access-to-uninitialized-buffer/13689 스위프트에서 배열 크기 늘리기 // Grwoing the size an array 스위프트에서 배열은 내용을 보관하기 위해 특정 사이즈만큼의 메모리를 예약해둡니다. 배열에 element를 추가하고 해당 배열이 예약된 용량을 초과하기 시작하면, 배열은 더 큰 메모리 영역을 할당하고 해당 element를 새 저장 공간에 복사합니다. 이때 새 저장소의 크기는 이전 저장소 크기의 배수입니다. 이렇게 배수로 증가시키는 것은 상수 시간으로 element가 추가..
오늘은 dropFirst(_:)와 removeFirst(_:)를 정리해보도록 하겠습니다. 사실 알고리즘 문제 풀다가... 스위프트는 왜 비슷한 메서드들을 정의해놨는지 궁금했습니다. 당연히 차이가 있으니깐 비슷한 것들을 따로 생성했겠죠...ㅎㅎ? (나: 제발 좀 공부해라) 알고리즘 문제를 보고 아! 이문제는 재귀 쓰자 마음먹었고... 재귀를 사용했어요. 그리고 재귀는 언제 리턴될지가 중요하잖아요. 저는 빈 배열이 될 때를 제약 조건으로 두고 재귀를 돌렸습니다. 즉 빈 배열이 나올 때까지 재귀로 들어가고 파라미터로는 배열의 첫 번째 요소를 제거한 나머지 배열을 계속 전달했어요. 여기서부터 사건의 발달 ... 배열의 첫 번째 요소를 제거한 나머지 배열을 전달하는 방법에 대해서 생각하다가 두 가지가 떠올랐어요...
스위프트의 정렬 sort와 sorted 차이점에 대해서 알아보려 합니다. 먼저 sort 함수를 살펴봅시다. sort는 (in place) 제자리에서 정렬합니다. 또한 각 Element가 Comparable 프로토콜을 따라야 정렬할 수 있습니다. 기본적으로 sort는 오름차순으로 정렬됩니다. 내림차순으로 정렬하고 싶으면 sort(by: ) 함수를 활용해서 sort(by: >)로 작성해주면 됩니다. var arr = [3,35,5,32,1] arr.sort() print(arr) // [1, 3, 5, 32, 35] arr.sort(by: >) print(arr) // [35, 32, 5, 3, 1] 제자리에서 정렬하기 때문에 어떠한 배열을 리턴하지 않습니다. 시간 복잡도는 O(nlogn)을 나타내고 n은 ..
- Total
- Today
- Yesterday
- 머신러닝
- swift5
- ARC
- 스위프트
- objective-c
- ios
- 스위프트UI
- 책 후기
- swiftUI
- Xcode
- wwdc
- ReactiveX
- rxswift
- 독서
- SWIFT
- Algorithm
- 책
- stanford SwiftUI
- 책 추천
- 애니메이션
- leetcode
- Deep learning
- 딥러닝
- objc
- iOS SwiftUI
- Animation
- 알고리즘
- 문자열
- string
- RX
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |