101. Input
한 줄
정수 하나 입력받을 때
let number = Int(readLine()!)!
문자열 한 줄 입력받을 때
let string = readLine()!
n개의 줄, 정수 하나씩 입력받을 때
let n = Int(readLine()!)! var intArray = [Int]() for i in 0 ..< n { let value = Int(readLine()!)! intArray.append(value) } 또는 let n = Int(readLine()!)! var intArray = [Int](repeating: 0, count: n) for i in 0 ..< n { let value = Int(readLine()!)! intArray[i] = value } 또는 let n = Int(readLine()!)! var intArray = (0 ..< n).compactMap { _ in Int(readLine()!) }
띄어쓰기
정수
let numberArray = readLine()!.split(separator: " ").map { Int(String($0))! } 또는 import Foundation let numberArray = readLine()!.components(separatedBy: " ").map { Int(String($0))! } /* Int(String($0))! 로 쓰는 이유는 Int($0)! 보다 속도가 더 빠르기 때문 */
문자열
/* Array<Substring> 타입 */ let stringArray = readLine()!.split(separator: " ") 또는 /* Array<String> 타입 */ import Foundation let stringArray = readLine()!.components(separatedBy: " ")
2차원 배열
띄어쓰기, 정수
var numberArray = [[Int]]() for _ in 0..<3 { let line = readLine()!.split(separator: " ").map { Int($0)! } numberArray.append(line) }
띄어쓰기, 문자열
var stringArray = [[String]]() for _ in 0..<3 { let line = readLine()!.split(separator: " ").map { String($0) } stringArray.append(line) }
띄어쓰기 x, 1차원 문자열 -> 2차원 정수
let stringArray = ["010", "0001", "0101"] var array = [[Int]]() for string in stringArray { var line = [Int]() for char in string { line.append(Int(String(char))!) } array.append(line) } 또는 for string in stringArray { let line = Array(string).map { Int(String($0))! } array.append(line) } 또는 stringArray.forEach { let line = Array($0).map { Int(String($0))! } array.append(line) }
띄어쓰기 x, 1차원 문자열 -> 2차원 문자열
let stringArray = ["Hi", "there", "bye!"] var array = [[String]]() for string in stringArray { var line = [String]() for char in string { line.append(String(char)) } array.append(line) } 또는 for string in stringArray { let line = Array(string).map { String($0) } array.append(line) } 또는 stringArray.forEach { let line = Array($0).map { String($0) } array.append(line) }
Graph(Node) 생성
두 노드의 연결을 띄어쓰기로 주어졌을 때
/* 양방향 기준 */ let n = Int(readLine()!)! var g = Array(repeating: [Int](), count: n + 1) for _ in 0..<n! { let adj = readLine()!.split(separator: " ").map{Int($0)!} g[adj[0]].append(adj[1]) g[adj[1]].append(adj[0]) }
'Swift 문법 예시' 카테고리의 다른 글
[iOS / Swift] 106. Set (0) | 2022.01.17 |
---|---|
[iOS / Swift] 105. Array (0) | 2022.01.17 |
[iOS / Swift] 104. Strings (0) | 2022.01.17 |
[iOS / Swift] 103. Loops (0) | 2022.01.17 |
[iOS / Swift] 102. Output (0) | 2022.01.17 |