점수가 적힌 항목을 왼쪽부터 나열했어요. 원하는 항목을 골라 점수를 더하되, 서로 바로 이웃한 두 항목을 동시에 고를 수는 없어요. 아무것도 고르지 않아도 돼요.
int solution(vector<int> scores)가 가능한 점수 합의 최댓값을 반환하도록 잘못된 한 줄을 고쳐 주세요.
매개변수와 반환값
항목 수는 0200이고, 각 점수는 01,000,000인 정수예요. 점수는 중복될 수 있어요. 빈 배열의 답은 0이에요. 최댓값을 만드는 선택이 여러 개여도 합 하나만 반환해요. 반환형은 int이고 답은 0~100,000,000이에요.
예시
[5,1,6,4]→11: 1번째와 3번째의 5와 6을 선택해요. 이웃한 6과 4는 함께 고를 수 없어요.[2,8,2]→8: 가운데 8 하나가 양끝 2+2보다 커요.
자동 채점 입력·출력
첫 줄은 항목 수 N, 다음 줄은 N개의 점수예요. N=0이면 점수 줄은 없어도 돼요. 최대 합을 한 줄에 출력해요. main은 채점용이며 수정 대상은 solution의 한 줄이에요.
예시 입력
4 5 1 6 4
예상 결과
11
예시 입력
3 2 8 2
예상 결과
8
핵심 개념
dp-1d: 현재 항목을 선택하는 경우와 건너뛰는 경우를 나눠요.array-1d: 문제의 항목 번호와 DP의 접두 길이를 구분해요.