[Kotlin, S2] λ°±μ€ 1912λ² μ°μν©
μ°μν©(1912λ²)
Silver 2
#λ€μ΄λλ―Ή νλ‘κ·Έλλ°
https://www.acmicpc.net/problem/1912
λ¬Έμ λ΄μ©
λ¬Έμ μ κ·Ό
μ μλ€μ΄ μ£Όμ΄μ§λ©΄, μ°μλ μ μμ ν© μ€μ μ΅λκ°μ μ°Ύμμ μΆλ ₯νλ€.
μκ°μ νμ΄ 1μ΄μ΄κ³ , μ μλ 10λ§ κ°κΉμ§ λ€μ΄μ€κΈ° λλ¬Έμ λ€μ΄λλ―Ή νλ‘κ·Έλλ°μ΄ κ°μ λλ€.
μ΄ λ¬Έμ λ₯Ό λ€μ΄λλ―Ή νλ‘κ·Έλλ°μΌλ‘ νκΈ° μν΄μλ μ΄λ»κ² ν΄μΌ ν κΉ?
μ λ ₯ μμ 1μ μλ‘ λ€μ΄ λ³΄κ² λ€.
10
10 -4 3 1 5 6 -35 12 21 -1
μ μλ₯Ό νλμ© λ³΄λ©΄μ μ΅λκ°μ μ°Ύμ보μ.
첫 λ²μ§Έ μλ 10μ΄κΈ° λλ¬Έμ μ°μλ μμ ν©μ 10μ΄λ€.
λ λ²μ§Έ μλ -4μ΄λ€. μ°μλ μμ ν©μ 6μ΄λ€. 6κ³Ό -4μ€μ 6μ΄ λ ν¬λ€.
μΈ λ²μ§Έ μλ 3μ΄λ€. μ°μλ μμ ν©μ 9μ΄λ€. 9μ 3μ€μ 9κ° λ ν¬λ€.
λ€ λ²μ§Έ μλ 1μ΄λ€. μ°μλ μμ ν©μ 10μ΄λ€. 10κ³Ό 1μ€μ 10μ΄ λ ν¬λ€.
λ€μ― λ²μ§Έ μλ 5μ΄λ€. μ°μλ μμ ν©μ 15λ€. 15κ³Ό 5μ€μ 15κ° λ ν¬λ€.
μ¬μ― λ²μ§Έ μλ 6μ΄λ€. μ°μλ μμ ν©μ 21μ΄λ€. 21κ³Ό 6μ€μ 21μ΄ λ ν¬λ€.
μΌκ³± λ²μ§Έ μλ -35λ€. μ°μλ μμ ν©μ -14μ΄λ€. -14μ -35μ€μ -14κ° λ ν¬λ€.
μ¬λ λ²μ§Έ μλ 12μ΄λ€. μ°μλ μμ ν©μ -2μ΄λ€. -2μ 12μ€ 12κ° λ ν¬λ€. μ°μλ μμ ν©μ 12λ‘ λ³κ²½νλ€.
μν λ²μ§Έ μλ 21μ΄λ€. μ°μλ μμ ν©μ 33μ΄λ€. 33κ³Ό 21μ€ 33μ΄ λ ν¬λ€.
μ΄ λ²μ§Έ μλ -1μ΄λ€. μ°μλ μμ ν©μ 32μ΄λ€. 32μ -1μ€ 32κ° λ ν¬λ€.
μ΄ 10λ²μ νμ κ²°κ³Όμμ μ λ΅μ΄ μλ€. μ λ΅μ 33μ΄λ€.
μμ κ°μ λ°©μμΌλ‘ λ΅μ ꡬνλ©΄ μ΅λκ°μ΄ ν¬ν¨λμ΄ μλ 리μ€νΈλ₯Ό μ»μ μ μλ€.
κ·Έ 리μ€νΈμμ μ΅λκ°μ ꡬν΄μ£Όλ©΄ λλ€.
μ νμμ λ€μκ³Ό κ°μ΄ ꡬμ±νλ€.
max(res[i - 1] + numbers[i], numbers[i])
resκ° νμ¬κΉμ§μ μ΅λκ°μ΄κ³ , numbersκ° μ λ ₯λ°μ μ μλ€μΌ λ, λ μμ ν©μ΄ μ°μλ μμ ν©μ΄λ€.
μ°μλ μμ ν©κ³Ό μ λ ₯ μ μ μ€ λ ν° κ°μ μ°Ύλλ€.
λ¬Έμ ν΄κ²° μ½λ
import java.io.BufferedReader
import java.io.InputStreamReader
import kotlin.math.max
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val numberCnt = readLine().toInt()
val numbers = readLine().split(" ").map { it.toInt() }
val res = Array(numberCnt) { 0 }
res[0] = numbers[0]
for (i in 1 until numbers.size) {
res[i] = max(res[i - 1] + numbers[i], numbers[i])
}
println(res.max())
}
λ¬Έμ νμ΄
μ λ ₯λ°μ μ μλ€μ μ΅λκ°μ resμ μ μ₯ν κ²μ΄λ€. resμ μ΄κΈ° κ°μΈ 0λ²μ§Έ κ°μ μ λ ₯λ°μ μ μλ€μ 첫 λ²μ§Έ μ μλ‘ μ§μ νλ€.
κ·Έλ¦¬κ³ λ°λ³΅νλ©΄μ μ΅λκ°μ κ΅¬ν΄ μ€λ€.
λ¬Έμ ν΄κ²° κ³Όμ
νλ²ν λ€μ΄λλ―Ή νλ‘κ·Έλλ° λ¬Έμ .
μΌλ¨ λλ μ²μμ μ νμμ΄ μκ°μ΄ μ λμ λ¬Έμ κ²μνμ μ°Έκ³ νλ€.
μΈμ μ―€ λ€μ΄λλ―Ή νλ‘κ·Έλλ°μ λ§μ€ν°ν μ μμκΉ?