알고리즘 및 코테/기타 문제

배열 내 연속된 정수들 합의 최대값 구하기

성장코딩 2023. 1. 26. 21:56

<Solution>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
 
        int n = sc.nextInt();
        int[] data = new int[n];
        for (int i = 0; i < data.length; i++) {
            data[i] = sc.nextInt();
        }
        sc.close();
        //i가 증가함에 따라 maxSum은 값이 변하면 변한 채로 두고
        //sum만 i값이 증가함에 따라 초기화를 계속 시켜서 maxSum을 변화시킬 수 있도록 한다
        int maxSum = 0;
        for (int i = 0; i < data.length; i++) {
            int sum = 0;
            for (int j = i; j < data.length; j++) {
                sum += data[j];
                if (maxSum < sum) {
                    maxSum = sum;
                }
            }
        }
        System.out.println(maxSum);
 
    }
}
cs

최대값은 28!