2022. 10. 27. 11:53γAlgorithm
λ°±μ€ - μ μΈ(Swift)
λ¬Έμ μ€λͺ
https://www.acmicpc.net/problem/2437
λμ νμ΄
μ΄ λ¬Έμ μ 첫λ²μ§Έ μ κ·Όμ λλ¨μ΄μ§ μ«μλ μ μΈν΄λ λλ€λ κ²μ΄λ€.
μλ₯Ό λ€μ΄ 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)
'Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°±μ€ - μΈνμ μ¬μ₯ λν(Swift) (0) | 2022.10.28 |
---|---|
λ°±μ€ - κ°μμ€ λ°°μ (Swift) (0) | 2022.10.28 |
λ°±μ€ - νλ ¬(Swift) (0) | 2022.10.27 |
λ°±μ€ - μ리곡 νμΉ(Swift) (0) | 2022.10.26 |
λ°±μ€ - λ¬Έμ κ²μ(Swift) (0) | 2022.10.26 |