적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Algorithm/Baekjoon

[Swift 알고리즘] 백준 10211 Maximum Subarray

hongssup_ 2023. 4. 3. 14:52
반응형

다이나믹 프로그래밍, 누적 합  Silver4

백준 10211번 Maximum Subarray

69104KB 12ms

let t = Int(readLine()!)!
for _ in 0..<t {
    let n = Int(readLine()!)!
    let nums = readLine()!.split(separator: " ").compactMap { Int($0) }
    var (sum, ans) = (0, nums[0])
    for num in nums {
        sum = max(num, sum + num)
        ans = max(sum, ans)
    }
    print(ans)
}

처음에 ans 변수 초기화해줄 때, 

배열 X의 모든 인자가 음수일 수도 있는 상황을 대비하여 0 이 아니라 반드시 nums[0] 으로 값을 초기화해주어야 한다. 

728x90
반응형