
입력값을 받을 때 쓰는 readLine() 메소드는 입력값을 받을 때 쓴다.
let input = readLine()!
반환형은 Optional<String> 이다.
백준에서는 보통 Unwrapping을 해준다. 하지만 강제 Unwrapping은 Swift 언어를 사용하며 자제하는 것이 좋다.

반환형은 SubString 배열을 반환한다.
Split은 값을 쪼개는 역할로 separator, maxSplits, omittingEmptySubsequences 라는 세가지 인자를 갖는다.
Character 타입으로, 매개변수를 받아서 해당 인자를 기준으로 쪼개주는 역할을 한다. 즉, Separator에 입력하는 값이 구분자가 된다.
예를 들어 0 2 1 0 3 0 이렇게 공백을 기준으로 받는다면
let input = readLine()!.split(separator: " ")
이렇게 사용하면 되는 것이다.
Int 타입으로 문자열을 분리하는 횟수이다. separator 인자를 기준으로 몇 번까지 분리하는 최댓값을 설정하는 것이다.
omittingEmptySubsequences : false의 경우 separator의 인스턴스마다 결과에 빈(empty) 서브 시퀀스를 돌려준다. true의 경우, 비어있지 않은(non-empty)서브 시퀀스만 반환됩니다. 기본값은 true이다.
func map<T> (_ transform: (Element) throws -> T) rethrows -> [T]
map()함수는 입력값을 변형해서 반환을 할 수 있는 함수이다.
Split()은 Substring 배열을 반환하기 때문에 다른 값으로 변형하여 사용하려면 Map()을 사용해야 한다.
예시로 Int형 배열로 사용하고 싶다면
var input = readLine()!.split(separator:" ").map{Int($0)!}

1. 파라미터
split : (separator, maxSplits,
omittingEmptySubsequences)
components :(separatedBy)
components는 separatedBy라는 인자 단 하나만을 가지며 separatedBy는 구분자 역할을 한다는 점에서 separator와 같지만 separator는 Character형이며 separatedBy는 String 형이다
2. 소속
split : 스위프트 표준 라이브러리에 속해있다.
components : Foundation 프레임워크에 속해있다.