입력

줄 단위로 읽어오기

let value = readLine()

줄 단위로 읽어오는데, 공백으로 구분되어 있는 입력

let nums = readLine()!.split(separator:" ")
// 무조건 split으로 받자

let str = "ABC "
let arr = Array(str) 이거하면 [Character] ["A", "B", "C", " "]
print(arr)

Int 값으로 바로 읽어오기

let n: Int = Int(readLine()!)!

Maping Int 값으로 바로 읽어오기

let nums: [Int] = readLine()!.split(separator: " ").map {Int(String($0))!}

While EOF / 백준에서 while 입력 끝 날때까지 받기 / Swift 끝까지 입력 받기

while let line = readLine() { print(line) }

배열

빈배열 선언

var arr = [Int]()
var arr : [Int] = []
var arr : Array<Int> = []
var arr = [[Int]]()

배열선언과 동시에 Int 타입으로 초기값 부여 및 이차원배열

var arr = Array(1...5) // [1,2,3,4,5]
var arr = Array(repeating: 1, count: 5) // [1,1,1,1,1)
 
let arr2: [[Int]] = Array(repeating:Array(repeating:1, count: 5), count: 3) 
// 안쪽 count가 행, 바깥 count가 열 arr2[i][j]

배열 정렬

var arr = [1,3,2,4]
 
arr.sort()        // 오름차순 [1,2,3,4]
arr.sort(by: >) // 내림차순 [4,3,2,1]
//sort() - 원본 순서변경으로 배열정렬
//sorted() - 원본 변경없이 정렬한 배열을 반환.

3차원 배열