본문 바로가기
카테고리 없음

Lesson 9 - MaxSliceSum

by JeongUPark 2020. 1. 6.
반응형

자세한 문제는 여기서 확인하시면 됩니다.

 

문제는 (P,Q)일 때 0<=P<=Q<N 으로 연속된 값들의 합이 가장큰 경우를 찾는 문제입니다.

 

이 문제는 Kadane's algorithm 을 사용해서 푸는 문젭입니다.(Kadane's algorithm의 자세한 내용은 다음기회에..)

 

fun solution(A: IntArray): Int {
  
    if( A.size == 1){
        return A[0]
    }
    var max_1 = A[0]
    var max_2 = A[0]

    for(i in 1 until A.size){
        max_1 = Math.max(A[i],max_1+A[i])
        max_2 = Math.max(max_2,max_1)
    }
    return max_2
}

max_1을 통하여 array의 덧셈들을 체크하고 max_2로 그 덧셈들중 최대값을 반환합니다.

반응형