티스토리 뷰
https://www.acmicpc.net/problem/1912
1912번: 연속합
첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다.
www.acmicpc.net
이번 문제도 앞선 LIS유형의 문제들과 다를 바가 없다. 이번 문제에서는 dp배열에는 numbers[i]로 끝나는 최대 연속합으로 지정한다. dp[i-1]+numbers[i]>numbers[i[? dp[i]=dp[i-1]+numbers[i] : dp[i]=numbers[i] 를 하면 된다.
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
31
32
33
34
35
36
|
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
long[] numbers = new long[num];
for(int i=0;i<num;i++) {
numbers[i]=sc.nextInt();
}
long[] dp = new long[num];
dp[0]=numbers[0];
for(int i=1;i<num;i++) {
if(dp[i-1]+numbers[i]>numbers[i]) {
dp[i]=dp[i-1]+numbers[i];
}else {
dp[i]=numbers[i];
}
}
System.out.println(dp[dp.length-1]);
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
'Algorithm > 백준 문제풀이' 카테고리의 다른 글
DP [백준 1699 제곱수의 합] -java- (0) | 2019.04.25 |
---|---|
DP [백준 2579번 계단 오르기] -java- (0) | 2019.04.25 |
DP [백준 11055번 가장 큰 증가하는 부분수열] -java- (0) | 2019.04.25 |
DP [백준 11053번 가장 긴 증가하는 부분수열] -java- (0) | 2019.04.24 |
DP [백준 2156번 포도주 시식] -java- (0) | 2019.04.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 연산 순서
- c언어 공백 출력
- C언어 한글
- C언어 배열 선언
- CLion 한글 깨짐
- 안스 프로젝트 구조
- 배열 주의사항
- 배열 메모리 할당
- c언어 필드 폭지정
- 모바일 앱 설계
- CLion 한글
- 백준
- MinGW 한글 깨짐
- 계산 순서
- 복붙하기
- python list 팁
- printf 스택
- 앱 프로그래밍
- printf문 연산자
- printf 계산 순서
- manifest 의미
- 증감연산자 계산 순서
- C언어 한글 깨짐
- MinGW 한글
- 배열 메모리
- C언어 printf문
- res 의미
- 필드 폭 지정
- 윈도우 복붙
- 다이나믹 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함