문제
https://school.programmers.co.kr/learn/courses/30/lessons/161988
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
입출력
sequence
[2, 3, -6, 1, 3, -1, 2, 4]
result
10
코드
import java.util.*;
class Solution {
public long solution(int[] sequence) {
long answer = 0;
int[] type1 = new int[sequence.length];
int[] type2 = new int[sequence.length];
for(int i = 0; i < sequence.length; i++){
if(i % 2 == 0) {
type1[i] = sequence[i];
type2[i] = - sequence[i];
} else {
type1[i] = - sequence[i];
type2[i] = sequence[i];
}
}
long sum = max(type1);
long sum2 = max(type2);
answer = Math.max(sum, sum2);
return answer;
}
static long max(int[] arr) {
long max = arr[0];
long sum = arr[0];
for(int i = 1; i < arr.length; i++){
sum = Math.max(arr[i], sum + arr[i]); // 현재 vs 누적
max = Math.max(max, sum);
}
return max;
}
}
'Java' 카테고리의 다른 글
[백준] 17472 : 다리 만들기 2 (0) | 2025.04.01 |
---|---|
[백준] 14890 : 경사로 (0) | 2025.04.01 |
에라토스테네스의 체 : 소수 찾기 (0) | 2025.03.30 |
GCD, LCM 구하기 : 유클레드 호제법, a*b / gcd(a,b) (0) | 2025.03.30 |
[코드트리] 경험치를 빠르게 얻기 (0) | 2025.03.29 |