본문 바로가기

Programing/Java

[Java] 연속된 정수들의 최대값 구하기

728x90
반응형

[Java] 연속된 정수들의 최대값 구하기


문제: n개의 정수를 입력받아 배열에 저장한다. 이들 중에서 0개 이상의 연속된 정수들을 더하여 얻을 수 있는 최대값을 구히여 출력하는 프로그램을 작성하라.

 

코드

 

import java.util.*;

class Main {
  	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		int n=scan.nextInt();
		int[] arr=new int[n];
		for(int i=0;i<n;i++){
			arr[i]=scan.nextInt();
		}
		scan.close();
		int answer=0;
		for(int i=0;i<n;i++){
			int sum=0;
			for(int j=i;j<n;j++){
				sum+=arr[j];
				if(answer<sum){
					answer=sum;
				}
			}
		}
		System.out.println(answer);
 	 }
}

 

해설

-> 모든 경우의 구간을 모두 비교함으로서 해결

728x90
반응형

'Programing > Java' 카테고리의 다른 글

[Java] String 클래스 기본 메서드  (0) 2020.12.10
[Java] 값에 의한 호출  (0) 2020.12.09
[Java] Tree 구현  (0) 2020.12.08
[Java] Bubble sort (버블정렬)  (0) 2020.12.07
[Java] 소수 출력하기  (0) 2020.12.07