1~3단계 10952, 10951, 1110 문제풀이
10952 A+B -5
var escape : Bool = true
while escape != false {
var input = readLine()!.split(separator: " ").map{Int($0)!}
if input != [0, 0] {
print(input[0]+input[1])
escape = true
} else {
escape = false
}
}
이렇게 풀었는데..
코드를 좀 더 간결하게 작성하는 방법이 있었다.
while true {
let number = readLine()!.split(separator: " ").map { Int($0)! }
if number[0] + number[1] == 0 {
break
}
print(number[0]+number[1])
}
나는 escape를 위해 변수를 하나 만들어서 사용했는데,
그냥 while true로 바로 코드블럭을 만들면 되는 것이었다.
10951 A+B -4
이 문제에서는 테스트케이스가 언제 끝나는지 명시되어있지 않아서
while true로 코드를 제출하니 런타임 에러가 나왔다.
EOF를 체크해서 코드를 작성하면 된다.
while let input=readLine() {
var num = input.split(separator: " ").map{Int($0)!}
print(num[0]+num[1])
}
위처럼 input = readLine()를 달아주는 게 readLine이 있는지 아닌지를 판단하는 것 같다.
코드를 실행했을 때 EOF를 넘겨주는(?) 커맨드는 컨트롤+d를 누르면 된다.
1110 더하기 사이클
let input = Int(readLine()!)!
var a = input / 10
var b = input % 10
var i = 0
while true {
let sum = a + b
let result = b * 10 + sum % 10
a = result / 10
b = sum % 10
i += 1
if result == input {
break
}
}
print(i)
'Today I Learned' 카테고리의 다른 글
20211006 - 백준 swift - 함수 (0) | 2021.10.06 |
---|---|
20210930 백준 swift - 1차원 배열 (0) | 2021.09.30 |
20210830 백준 swift - for문 -2 (0) | 2021.08.31 |
20210826~20210829 백준 swift - for문 -1 (0) | 2021.08.30 |
20210817~0825 swift full course (0) | 2021.08.26 |