[백준] 쉽게 푸는 문제 (1292)

문제 설명

백준 1292번 문제 링크

입력 및 출력

» 입력

첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다.

» 출력

첫 줄에 구간에 속하는 숫자의 합을 출력한다.

예제 입출력(테스트케이스)

입력 출력
3 7 15

문제 풀이 (KOTLIN)

fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
    val (A, B) = readLine().split(" ").map { it.toInt() }
    var idx = 0
    var seq = 1
    var sum = 0

    while (true) {
        repeat(seq) {
            idx++
            if (idx in A..B) {
                sum += seq
            }
        }
        if (idx >= B) break
        seq++
    }

    println(sum)
}

문제 풀이 (SWIFT)

var arr = [Int]()
for i in 1..<50 {
    arr.append(contentsOf: [Int](repeating: i, count: i))
}

let section = readLine()!
    .split(separator: " ")
    .map { Int($0)! }

print(
    arr[section[0] - 1...section[1] - 1]
        .reduce(0, +)
)

태그:

카테고리:

업데이트: