var read = readLine()
if var read = read{
var arr = read.components(separatedBy: " ").map({ (value : String) -> Int in
return Int(value)! })
}
if var read = read{
var arr = read.components(separatedBy: " ").map({ (value) -> Int in
return Int(value)! })
}
if var read = read{
var arr = read.components(separatedBy: " ").map({ (value) -> Int in Int(value)! })
}
if var read = read{
var arr = read.components(separatedBy: " ").map({ (value) in Int(value)! })
}
if var read = read{
var arr = read.components(separatedBy: " ").map({ Int($0)! })
}
if var read = read{
var arr = read.components(separatedBy: " ").map() { Int($0)! }
}
입출력은 이제 readline만 치면 알아서 입력된다
코드 드래그 우클릭
Create Code Snippet
Completion: readline
placeholder를 생성하고 싶으면 <#placeholder#>라고 입력하면 된다
print(hour, minute, separator: "..")
print(hour, minute, terminator: "..")
separator는 모든 가운데에 ..가 붙고 마지막에 \n이 되었고
terminator는 마지막에만 ..이 붙었다
let array = [String](repeating: "A", count: 1000)
for a in array {
print(separated, terminator: " ") // slow
}
/////
let separated = array.joined(separator: " ")
print(separated) // a lot quicker, even though we're processing the array beforehand
let nums = readLine()!.split(seperator:" ") // ["1", "2", "3", "4"]
let nums = readLine()!.components(seperatedBy:" ") // ["1", "2", "3", "4"]
split은 Foundation 프레임워크를 반입하지 않아도 사용할 수 있다.
split으로 쪼개면 리턴값이 [String.SubSequence]다.
components로 쪼개면 리턴값이 [String]이다.
둘 다 map을 사용하면 문자열을 사용할 수 있다.
var empty : [Int] = []
var empty = [Int]()
var empty : Array<Int> = []
var array = Array(1...5) // [1,2,3,4,5]
let secondIndex = string.index(after: string.startIndex)
let second = string[secondIndex]
let endIndex = string.index(before: str.endIndex)
// n번째 문자 index 구하는 법
let index = string.index(string.startIndex, offsetBy: n-1)
// subString 구하는 법
let substring = string[start...end]
// 문자 검색해서 index 찾기
"abc123".index(firstOf: "c")
// 특정 character replace
string.replacingOccurences(of:" ", with:"+")
(decimal as NSDecimalNumber).intValue
let formatter = NumberFormatter()
formatter.roundingMode = .down // 내림
formatter.minFractionDigits = 2 // 2자릿수까지만 표현
formatter.maxFractionDigits = 2
let num = formatter.string(from: NSNumber(value: 2.3243254)) // 2.32
// 10진수 -> N진법
String(integer, radix: n)
// N진법 -> 10진수
Int("11100110", radix: n)!
Character("a").asciiValue!
let mathExpression = NSExpression(format: "3+4+2-1*6")
let mathValue = mathExpression.expressionValue(with: nil, context: nil) as! Int // result : 3