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 |