https://www.acmicpc.net/problem/9237
그리디 알고리즘 검색 중, 위와 같은 그래프를 보고 아래와 같이 문제를 접근했다.
가장 오래 걸리는 것 부터 심어서 (미래의 상태는 고려하지 않고 현재에 가장 최적의 값을 구한다.) 마지막 날을 구한 다음 그 다음날 이장님을 초대하기로
func solution() {
let input = readLine()
let input2 = readLine()
guard let myinput = input, let myinput2 = input2 else {
return
}
var array = myinput2.components(separatedBy: " ").map{Int($0)!}
array.sort(by: >)
print(array)
for i in 0..<Int(myinput)! {
array[i] += (i + 1)
}
let result = array.max()
print(result)
}
아,, 알고리즘이 이렇게 연관되는것이구나,,,