티스토리 뷰
연속부분 최대합 L
문제
N개의 정수가 주어질 때, 연속된 부분을 선택하여 합을 최대화 하는 프로그램을 작성하시오. 예를 들어, 아래와 같이 8개의 숫자가 있을 경우, 색칠된 부분을 선택했을 때 그 합이 가장 최대가 된다.
입력
첫 번째 줄에 n이 주어진다. ( 1 ≤ n ≤ 1,000,000 ) 두 번째 줄에 n개의 정수가 주어진다.
출력
연속된 부분을 선택하였을 때의 최댓값을 출력한다.
예제 입력
8
2 3 -5 8 -3 4 2 -9
예제 출력
11
예제 입력
5
-1 -2 3 -2 4
예제 출력
5
코드
///연속부분의 최대합
import java.util.*;
public class Main {
public static ArrayList<Integer> box = new ArrayList<>();
public static int result = Integer.MIN_VALUE;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//총 몇개의 숫자를 입력 받을 것인지
int a;
int b[];
a = sc.nextInt();
b = new int[a];
for (int i = 0; i < a; i++) {
b[i] = sc.nextInt();
if (i > 0 && b[i - 1] + b[i] > b[i]) b[i] += b[i - 1];
if (b[i] > result) result = b[i];
}
System.out.println(result);
}
}
'알고리즘 문제 풀이 ' 카테고리의 다른 글
특정 최단거리 (0) | 2018.10.24 |
---|---|
파티 (0) | 2018.10.24 |
최단거리 (0) | 2018.10.22 |
팀 나누기 (0) | 2018.10.22 |
자원채취 (0) | 2018.10.11 |
제곱수의 합 (0) | 2018.10.11 |
직사각형 배치의 경우의 수 (0) | 2018.10.10 |
구슬게임 (0) | 2018.10.05 |
- Total
- Today
- Yesterday
- javascript #백준 #회의실배정 #알고리즘
- react
- TypeScript
- 알고리즘
- Javascript
- 중간거리 #야만나 #약속장소추천 #중간위치 #웹 #리액트 #React #reactjs #kakao지도 #kakaoapi
- webpack
- java #알고리즘 #백준 #패션왕신해빈
- npm
- javascript #백준 #알고리즘 #LCS
- java #알고리즘 #백준 #N과M #백트래킹
- java #알고리즘 #백준
- 백준
- 색종이자르기
- java #백준 #알고리즘 #로또 #6603
- java #알고리즘 #백준 #퇴사
- 백준 #java #알고리즘
- Terminal
- java #하노이 #알고리즘 #백준
- webspider
- java #백준 #알고리즘 #2805 #나무자르기
- 백준 #알고리즘 #전깃줄 #NodeJs #javascript
- 2630번
- javascript #연속합 #알고리즘 #백준
- 쿼드트리
- java #퀵소트 #quicksort #알고리즘 #백준
- java #오르막수 #백준 #알고리즘
- 한글 자동 완성
- Game
- 1992번
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |