/* 비어있는 배열 선언 */
// 1 차원 배열
var arrEmpty01 = [Int]()
var arrEmpty02: Array<Int> = []
var arrEmpty03: [Int] = []
// 2 차원 배열
var arrTwoDimension = [[Int]]()
// 배열 선언
var arr01 = [1, 2, 3, 4, 5]
// 0 을 10개 가지는 배열 초기화
var arr02 = Array(repeating: 0, count: 10)
// 범위로 배열 만들기
var arr03 = Array(1 ... 3)
// 배열 정렬
var arr04 = [1, 3, 2]
// sort() -> 배열이 정렬된다. (원본을 변경함)
// sorted() -> 배열이 정렬된다. (원본은 변경되지 않음)
let arr05 = arr04.sorted()
print("arr04: \(arr04)")
print("arr05: \(arr05)")
arr04.sort(by: >) // ">" 내림차순, "<" 오름차순(Default)
print("arr04: \(arr04)")
/* 배열에 대한 기본 오퍼레이션 */
var array = Array(1...10)
// 인덱스 접근을 통한 요소 읽는다.
array[0]
array[1]
array[2]
array[9] // 10은 없습니다. 이유는 0부터 시작하니까요.
// 특정 인덱스 요소 삭제한다.
array.remove(at: 0)
// 맨 뒤에 요소 추가한다. (Stack 구조에서 요소 추가할 때 사용되겠죠?)
array.append(100)
// 제일 마지막 요소를 삭제하고 리턴한다.
// (Stack 구조에서 pop의 역할이 될 것 같네요.)
array.removeLast()
// 특정 인덱스에 요소 삽입한다.
array.insert(999, at: 3)
// 특정 요소가 있는지 확인한다.
array.contains(999)
// 배열의 순서를 리버스한다.
array.reverse()
// 제일 앞에 있는 요소를 삭제하고 반환한다. (removeLast랑 반대)
array.removeFirst()
// 배열의 요소 중 제일 앞에 값을 반환한다. (그냥 반환만하지 원본의 영향은 X)
array.first // 옵셔널이라는 것을 유의하자.
// 배열의 요소 중 제일 뒤에 값을 반환한다. (그냥 반환만하지 원본의 영향은 X)
array.last // 옵셔널이라는 것을 유의하자.
// 배열의 요소 중 최댓값과 최솟값에 대한 메소드 ( 이것들도 옵셔널이다.)
var max = array.max()!
var min = array.min()!
// 모든 요소를 지운다.
array.removeAll()
// 조건에 맞는 요소만 지운다.
array.removeAll(where: { $0 % 2 == 0 })
// = array.removeAll { $0 % 2 == 0 }
/* map */
var stringArr = ["10", "100", "100"]
var intArr = stringArr.map{ Int($0) }
cf)
map에 대해서 따로 게시물을 작성할 예정입니다.
참고자료)
https://kyungminleedev.github.io/notes/SwiftForAlgorighms/