for문 예제 1~11단계 (2739, 10950, 8393, 15552, 2741, 2742, 11021, 11022, 2438, 2439, 10871)
2739 구구단
var a = Int(readLine()!)!
for count in 1...9 {
print("\(a) * \(count) =", a*count)
}
10950 A+B-3
var a = Int(readLine()!)!
for _ in 1...a {
let b = readLine()!.split(separator:" ")
let c = b.map{Int($0)!}
print(c[0]+c[1])
}
8393 합
var num = Int(readLine()!)!
var sum = 0
for count in 1...num {
sum += count
}
print(sum)
15552 빠른 A+B
코드 작성했으나 시간 초과 결과를 얻음
fread와 여러 바이트를 한 번에 읽고, 정수를 읽어야 할 때마다 미리 읽어둔 문자열로부터 정수를 파싱하면 된다고 하는데
일단 low level code를 위해 UnsafeMutableRawPointer라는 걸 사용해야 하는 것 같은데
너무 복잡하고 단순한 문제를 풀기 위해 너무 복잡하게 알아야 하는 부분 같아서 패스..
나중에 다시 해보고자 한다면
https://developer.apple.com/documentation/swift/unsafemutablerawpointer/
두 페이지를 참고해서 해보는 게 어떨까 함
2741 N찍기
let num = Int(readLine()!)!
for i in 1...num {
print(i)
}
2742 기찍 N
let num = Int(readLine()!)!
for i in (1...num).reversed() {
print(i)
}
for문 범위 뒤에 .reversed() 사용만 해주면 뒤에서부터 된다
11021 A+B-7
let caseNum = Int(readLine()!)!
for i in 1...caseNum {
let num = readLine()!.split(separator : " ")
let input = num.map{Int($0)!}
let result = input[0] + input[1]
print("Case #\(i): \(result)")
}
틀렸다고 나와서 당황했는데
알고보니 case라고 소문자로 써서 틀렸던 문제
11022 A+B-8
let caseNum = Int(readLine()!)!
for i in 1...caseNum {
let input = readLine()!.split(separator: " ")
let num = input.map{Int($0)!}
print("Case #\(i): \(num[0]) + \(num[1]) = \(num[0]+num[1])")
}
똑같은데 출력에만 많이 입력해야 하는 문제는 너무 귀찮다
2438 별찍기 -1
let caseNum = Int(readLine()!)!
var a:[String]=[]
for _ in 1...caseNum {
a.append("*")
let result = a.joined(separator: "")
print(result)
}
배열을 string으로 바꿔서 풀었다.
https://dmsitter.tistory.com/136
관련내용 정리
'Today I Learned' 카테고리의 다른 글
20210831 백준 swift - while문 (0) | 2021.09.01 |
---|---|
20210830 백준 swift - for문 -2 (0) | 2021.08.31 |
20210817~0825 swift full course (0) | 2021.08.26 |
20210814~20210816 백준 문제풀이 swift (사칙연산 곱셈, if문) (0) | 2021.08.17 |
20210812 split vs components 정리 (0) | 2021.08.12 |