split vs component
readLine()으로 받아온 문자열을 처리하는 방법에는 split 과 component 두 가지가 있다.
let line1 = readLine().split(seperator: " ")
또는
let line2 = readLine().component(seperatedBy: " ")
이렇게 두 개가 있는데 split은 substring 배열 [substring] 을 반환하고,
component는 string 배열 [String]을 반환한다.
이 때 대부분의 알고리즘 문제에서 배열 element들은 정수형이므로 배열의 elements를 mapping하여 간단히 정수형으로 변환해줄 수 있다.
let IntLine1 = readLine().split(seperator: " ").map { Int(String($0))! }
또는
let IntLine2 = readLine().components(seperatedBy: " ").map { Int($0)! }
이 때 split으로 쪼갠 경우 mapping 시에 Int(String())으로 묶어야 시간초과를 면할 수 있다...
또한 IntLine2보다 IntLine1가 더 빠르다 ..
솔직히 어디서 차이가 나는지 모르겠다 .. fuck..
어쨌든 알고리즘 풀 때
- split으로 쪼개자
- 문자열로 변환 후 정수형으로 변환하자 -> Int(String($0)
Author And Source
이 문제에 관하여(split vs component), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sun02/split-vs-component저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)