λ°±μ€ - μ μΈ(Swift)
λ°±μ€ - μ μΈ(Swift)
λ¬Έμ μ€λͺ
https://www.acmicpc.net/problem/2437
2437λ²: μ μΈ
νλμ μν μ μΈμ μ΄μ©νμ¬ λ¬Όκ±΄μ 무κ²λ₯Ό μΈ‘μ νλ €κ³ νλ€. μ΄ μ μΈμ μ νμ λμλ 물건μ΄λ μΆλ₯Ό μ¬λ €λλ μ μκ° λ¬λ € μκ³ , μνμ κΈΈμ΄λ κ°λ€. λν, μ μΈμ νμͺ½μλ μ μΈμΆλ€λ§ λ
www.acmicpc.net
λμ νμ΄
μ΄ λ¬Έμ μ 첫λ²μ§Έ μ κ·Όμ λλ¨μ΄μ§ μ«μλ μ μΈν΄λ λλ€λ κ²μ΄λ€.
μλ₯Ό λ€μ΄ 1, 2, 3, 200μ΄λΌλ μ«μκ° μμλ 200μ μ μΈνκ³ λ§λ€ μ μλ κ°μ₯ μ΅μκ°μ 7μ΄λ€.
1, 2, 3, 4, 200μ κ²½μ°μλ 200μ μ μΈνκ³ λ§λ€ μ μλ κ°μ₯ μ΅μκ°μ 11μ΄λ€.
κ·Έλ¦¬κ³ μ΄λ κ² μμλ₯Ό 보면μ λ νλ μκ²λ κ²μ΄ μλλ° λ§¨ μμ리λΆν° λμ ν κ°λ€ + 1μ΄ μ΅μκ°μ΄ λλ κ²μ΄λ€.
κ·ΈλΌ 1, 2, 5μ μμλ₯Ό μ΄ν΄λ³΄μ.
μ΄ μλ€μ λ§λ€ μ μλ μ΅μκ°μ 4μ΄λ€. λ§μ½ 1, 2, 4κ° μλ€λ©΄ 8μ΄ λμμ κ²μ΄λ€.(1~8κΉμ§ μ λΆ λ§λ€ μ μλ€.)
μ¦ λμ ν©+1κΉμ§λ λ§λ€ μ μλ μλ€μ΄κ³ λμ ν©+2κ° λλ€λ©΄ λμ ν©+1μ ꡬνμ§ λͺ»νκΈ° λλ¬Έμ μ΄ λΆλΆμ΄ breakμμ μ΄ λλ κ²μ΄λ€.
import Foundation
let n = Int(readLine()!)!
var arr = readLine()!.components(separatedBy: " ").map{Int($0)!}
arr.sort(by: <)
var sum = 0 // λμ ν©
for x in arr {
// λμ ν©+1λ³΄λ€ ν° μκ° λμ¨λ€λ©΄ break
if x > sum+1 {
break
}
sum = sum + x
}
print(sum+1)