MUKER_DEV with iOS

[swift] ๋ฐฑ์ค€ - 2579๋ฒˆ: ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๋ณธ๋ฌธ

๐Ÿค– ์•Œ๊ณ ๋ฆฌ์ฆ˜/BAEKJOON

[swift] ๋ฐฑ์ค€ - 2579๋ฒˆ: ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ

MUKER 2023. 3. 18. 23:43
 

2579๋ฒˆ: ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ

๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ ๊ฒŒ์ž„์€ ๊ณ„๋‹จ ์•„๋ž˜ ์‹œ์ž‘์ ๋ถ€ํ„ฐ ๊ณ„๋‹จ ๊ผญ๋Œ€๊ธฐ์— ์œ„์น˜ํ•œ ๋„์ฐฉ์ ๊นŒ์ง€ ๊ฐ€๋Š” ๊ฒŒ์ž„์ด๋‹ค. <๊ทธ๋ฆผ 1>๊ณผ ๊ฐ™์ด ๊ฐ๊ฐ์˜ ๊ณ„๋‹จ์—๋Š” ์ผ์ •ํ•œ ์ ์ˆ˜๊ฐ€ ์“ฐ์—ฌ ์žˆ๋Š”๋ฐ ๊ณ„๋‹จ์„ ๋ฐŸ์œผ๋ฉด ๊ทธ ๊ณ„๋‹จ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ 

www.acmicpc.net


ํ’€์ด

let n = Int(readLine()!)!
var arr1 = Array(repeating: 0, count: n)
var arr2 = Array(repeating: 0, count: n)

for i in 0..<n {
    let now = Int(readLine()!)!
    
    if i == 0 { arr1[i] = now }
    else { arr1[i] = now + arr2[i-1] }
    
    if i < 2 { arr2[i] = now }
    else { arr2[i] = now + max(arr1[i-2], arr2[i-2]) }
}

print(max(arr1[n-1], arr2[n-1]))