[백준 11659 - Kotlin] 구간 합 구하기 4

kldaji·2022년 3월 16일
1

백준

목록 보기
37/76
post-custom-banner

문제링크

import java.io.BufferedReader
import java.io.BufferedWriter

private lateinit var bufferedReader: BufferedReader
private lateinit var bufferedWriter: BufferedWriter

fun main() {
    bufferedReader = System.`in`.bufferedReader()
    bufferedWriter = System.out.bufferedWriter()

    // 1. get (n, m)
    val (n, m) = bufferedReader
        .readLine()
        .split(" ")
        .map { it.toInt() }

    // 2. get numbers
    val numbers = bufferedReader
        .readLine()
        .split(" ")
        .map { it.toInt() }
        .toMutableList()

    // 3. get (0 ~ i)th sum
    for (i in 1 until n) {
        numbers[i] += numbers[i - 1]
    }

    // 4. get (i, j)
    repeat(m) {
        val (i, j) = bufferedReader
            .readLine()
            .split(" ")
            .map { it.toInt() }
        // 5. get cumulative sum (j ~ i - 1) -> index starts with 0
        if (i - 2 < 0) bufferedWriter.write("${numbers[j - 1]}\n")
        else bufferedWriter.write("${numbers[j - 1] - numbers[i - 2]}\n")
    }

    bufferedReader.close()
    bufferedWriter.close()
}

profile
다양한 관점에서 다양한 방법으로 문제 해결을 지향하는 안드로이드 개발자 입니다.
post-custom-banner

0개의 댓글