[Swift 코테 기초] 입출력
2022. 2. 10. 20:28ㆍSwift 코딩테스트/Swift 코테 기초
728x90
//공부 기록용 포스팅입니다. 틀린 부분이 있을 경우 댓글로 알려주시면 감사합니다! 😎
많이 참고했습니다! 감사합니다.
https://lxxyeon.tistory.com/66
https://twih1203.medium.com/swift-알고리즘에-필요한-swift-basic-총정리-d86453bbeaa5
1. 기본 입력: readLine()
/// - Parameter strippingNewline: If `true`, newline characters and character
/// combinations are stripped from the result; otherwise, newline characters
/// or character combinations are preserved. The default is `true`.
/// - Returns: The string of characters read from standard input. If EOF has
/// already been reached when `readLine()` is called, the result is `nil`.
public func readLine(strippingNewline: Bool = true) -> String?
- readLine() 함수를 통해서 입력을 받음
- EOF: 파일 끝(End of File, EOF)은 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타낸다.
- readLine()의 리턴값은 옵셔널 값으로 옵셔널 바인팅 또는 강제 언래핑 처리 필요
- 옵셔녈 바인딩-if: 변수에 값이 있다면 값을 할당하는 것, 값이 없는 nil이라면 else문 동작, 미리 확인하는 것과 유사. 즉, 값이 있을 때만 바인딩
- 강제 언래핑: 일단 무조건 변수 값 가져오는 것, 확실하게 값이 들어있을 때(=nil이 아닐 때) 사용
-
readLine()은 Optional<String>이고, readLine()!은 String 형이다.String형을 Int형으로 형 변환 시에는 강제 언래핑을 두 번 해줘야 한다. 강제 언래핑을 한 번만 할 시에는 Optional<Int>형 리턴var input = readLine() print(type(of: input)) print(type(of: input!)) print(type(of: Int(input!))) print(type(of: Int(input!)!)) //출력 //100 //Optional<String> //String //Optional<Int> //Int
1-1. 여러 개 입력: components(seperatedBy:)
- 파라미터로 String -> [String] 배열형으로 리턴
- Foundation 프레임워크 import 필수
import Foundation
let line = readLine()!
let lineArr = line.components(separatedBy: " ")
let a = Int(lineArr[0])!
let b = Int(lineArr[1])!
print(a+b)
//출력
//1 2
//3
1-2. 여러개 입력: split(separator:)
- separator: 쪼개려는 단위
- maxSplits: 최대 maxSplits 번의 분할을 수행 -> 리스트는 최대 (maxSplits + 1) 개의 요소를 가짐
- omittingEmptySubsequences: 리턴값에 빈 배열을 포함하는지 여부
- 기본값 true: 빈 배열을 포함하지 않음
- flase: 빈 배열 포함
- components는 separator가 연속으로 등장한 경우 빈 문자열을 함께 리턴
- Character -> [Substring] 리턴
- Swift 표준 라이브러리로 import X
var line = readLine()!.split(separator: " ")
let a = Int(line[0])!
let b = Int(line[1])!
print(a-b)
//출력
//3 2
//1
2. 출력: print("")
- item: 0개 이상의 파라미터
- separator: items가 2개 이상일 때 item 사이마다 출력할 것, 기본값은 공백
- terminator: items를 모두 출력한 후 마지막에 붙이는 종결자, 기본값은 개행 -> print는 자동 개행
let a = "A" print("a: \(a)") print(1.0, 2, 3.0, separator: " + ") for i in 0..<4 { print(i, terminator: "/") } //출력 //a: A //1.0 + 2 + 3.0 //0/1/2/3/Program ended with exit code: 0 <- 개행 X
728x90
'Swift 코딩테스트 > Swift 코테 기초' 카테고리의 다른 글
[Swift 코테 기초] 숫자와 문자 구별하기, uppercased() (0) | 2022.06.16 |
---|---|
[Swift 코테 기초] Dictionary key값과 value값 reverse하기 (0) | 2022.06.16 |
[Swift 코테 기초] String 공백 없이 쪼개기, 내림차순정렬, print문 terminator (0) | 2022.06.02 |
[Swift 코테 기초] String to Character (0) | 2022.03.10 |
[Swift 코딩 테스트] (0) | 2022.02.10 |