[Swift] 배열에 대한 기본조작

Uno·2021년 4월 27일
0

Tip-Swift

목록 보기
4/26

CODE

/* 비어있는 배열 선언 */
// 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/

profile
iOS & Flutter

0개의 댓글