20251122 baekjoon
This commit is contained in:
parent
537c5683f4
commit
19013cb1f5
39
code_study/Baekjoon/swift/17404.swift
Normal file
39
code_study/Baekjoon/swift/17404.swift
Normal file
@ -0,0 +1,39 @@
|
||||
if let N = Int(readLine() ?? "") {
|
||||
var RGB: [[Int]] = []
|
||||
for _ in 0..<N {
|
||||
guard let input = readLine(),
|
||||
let rgb = input.split(separator: " ").compactMap({Int($0)}) as? [Int],
|
||||
rgb.count == 3 else { break }
|
||||
|
||||
RGB.append(rgb)
|
||||
}
|
||||
|
||||
let maxCost = 1001
|
||||
var result = Int.max
|
||||
|
||||
for i in 1...3 {
|
||||
var prevR = i != 1 ? maxCost : RGB[0][0]
|
||||
var prevG = i != 2 ? maxCost : RGB[0][1]
|
||||
var prevB = i != 3 ? maxCost : RGB[0][2]
|
||||
|
||||
for j in 1..<N {
|
||||
let currentR = RGB[j][0] + min(prevG, prevB)
|
||||
let currentG = RGB[j][1] + min(prevR, prevB)
|
||||
let currentB = RGB[j][2] + min(prevG, prevR)
|
||||
|
||||
(prevR, prevG, prevB) = (currentR, currentG, currentB)
|
||||
}
|
||||
|
||||
if i==1 {
|
||||
result = min(result, prevG, prevB)
|
||||
}
|
||||
else if i==2 {
|
||||
result = min(result, prevR, prevB)
|
||||
}
|
||||
else {
|
||||
result = min(result, prevG, prevR)
|
||||
}
|
||||
}
|
||||
|
||||
print(result)
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user