Home [1일 1문제] 3월 8일 문제풀이
Post
Cancel

[1일 1문제] 3월 8일 문제풀이

✏️백준 1000번 : A+B

문제

나의 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import Foundation

// 1번 풀이 - components 이용
if let input = readLine() {
    let nums = input.components(separatedBy: " ")
    
    print(Int(nums[0])! + Int(nums[1])!)
}

// 2번 풀이 - split 이용 : Foundation 없이 가능
if let input = readLine() {
    let nums = input.split(separator: " ").map{ Int(String($0))! }
    print(nums[0] + nums[1])
}

공식문서 살펴보기📚

- readLine()

한 줄씩 입력을 받아 String?으로 반환하는 함수
옵셔널 타입을 반환하므로 언래핑하여 사용

1
2
3
4
5
6
7
// 강제 언래핑
let a = readLine()!
print(a)
// 옵셔널 바인딩
if let a = readLine() {
    print(a)
}

공백을 기준으로 여러 값을 입력 받는 방법 (split / components 이용)

- split

반환형이 SubSequence의 배열이므로 매핑하여 값을 사용해야한다.

1
2
3
4
if let input = readLine() {
    let arr = input.split(separator: " ").map{ String($0) }
    print(arr)
}

Swift Standard Library에 포함되어 있어 별도 import 없이 사용가능하다.

- components

반환형이 String의 배열이므로 별도 처리 없이 사용 가능하다.

1
2
3
4
5
6
import Foundation

if let input = readLine() {
    let arr = input.components(separatedBy: " ")
    print(arr)
}

import Foundation 해야만 사용할 수 있다.

This post is licensed under CC BY 4.0 by the author.