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