이장님 초대

Sett·2021년 7월 5일
0

문제

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)
    }
profile
안녕하세요

2개의 댓글

comment-user-thumbnail
2021년 7월 5일

아,, 알고리즘이 이렇게 연관되는것이구나,,,

답글 달기
comment-user-thumbnail
2021년 7월 5일

아 생각해보니 그리디였네요 그때 그때 가장 오래 걸리는 것부터 처리하니까

답글 달기

관련 채용 정보