Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- weak
- 풀이
- 안드로이드
- Self
- 프로그래머스
- 생명주기
- Swift
- 자바
- 연산자
- 해시
- RxSwift
- Subject
- 클로저
- 알고리즘
- concurrency
- 구조체
- 옵셔널
- observable
- 서브스크립트
- 리스트뷰
- 차이
- ios
- rx
- View
- 프래그먼트
- async
- 스위프트
- 이스케이핑
- 테스크
- 백준
Archives
- Today
- Total
study record
백준 1292 - 스위프트 풀이 본문
import Foundation
func BJ1292(){
let nums = readLine()!.split(separator: " ").map{ Int($0)}
var arr: [Int] = []
var count = 1
var n = 1
for _ in 1...1000 {
arr.append(n)
if count < n {
count += 1
}else{
n += 1
count = 1
}
}
var sum = 0
for i in nums[0]!...nums[1]! {
sum += arr[i-1]
}
print(sum)
}
func BJ1292plus(){
// 더 깔끔한 풀이
var arr: [Int] = []
for i in 1..<50 {
arr.append(contentsOf: [Int](repeating: i, count: i))
}
let input = readLine()!.split(separator: " ").map { Int($0)! - 1 }
print(arr[input[0]...input[1]].reduce(0, +))
}
배열의 끝에 원소를 넣는 메서드인 append()를 활용한다. append(contentsOf: )를 활용하여 하나의 원소가 아닌 컨텐츠를 넣을 수 있다.
init(repeating:count:)를 활용하여 원하는 원소를 원하는 횟수만큼 새 배열을 만들 수 있다.
let fiveZs = Array(repeating: "Z", count: 5)
print(fiveZs)
// Prints "["Z", "Z", "Z", "Z", "Z"]"
https://developer.apple.com/documentation/swift/array/1641692-init/
'알고리즘 > 스위프트 알고리즘' 카테고리의 다른 글
백준 2740 - 스위프트 풀이 (0) | 2022.02.06 |
---|---|
백준 9093 - 스위프트 풀이 (0) | 2022.02.03 |