강의로 돌아가기
Sean Park

살짝 틀린거 같은데.. 도와주세요

해답영상을 봐도 저랑 비슷하게 했는데... 뭐가 틀린건지 모르겠네요.. 도와주시면 감사하겠어요( 코드 채점에서 완벽하지가 않다네요)

작성중인 코드―solution.cpp
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
37
38
39
40
41
#include <iostream> 
#include <vector>
#include <algorithm>
using namespace std;

int dp1[100000];
int dp2[100000];
int dp[100000];

int solution(vector<int> sticker)
{
    int answer=0;
    dp1[0]=0;
    dp1[1]=sticker[1];

    int n=sticker.size();

    dp2[0]=sticker[0];
    dp2[1]=0;

    for(int i=2;i<n;i++){

            dp1[i]=max(dp1[i-1],dp1[i-2]+sticker[i]);   //dp1[i]란 i번째 항목까지 합친 게 가능한 최대합
    }
    for(int i=2;i<n-1;i++){


    dp2[i]=max(dp2[i-1],dp2[i-2]+sticker[i]);

    }   



    for(int i=0;i<n-1; i++){
        dp[i]=max(dp1[i],dp2[i]);
        answer=max(dp[i],answer);
    }
    answer=max(dp1[n-1],answer);
return answer;

}
  • Sean Park
    범위를 100001 로 해도 같은 결괍니다 ㅜㅜ 그리고 코드 정리 하는 법 아시나요? 줄맞추기 등 (ctrl f 같지가 않은데!) Sean Park 2019.03.19 17:54
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.