문제


N개의 카드가 주어지고, 각각은 자연수의 점수를 가진다. 철수는 이제 이 카드를 가져감으로써 카드에 적혀있는 수 만큼의 점수를 얻는다. 단, 카드를 가져갈 때 한가지 규칙이 있는데, 이는 연속하여 3개의 카드는 가져갈 수 없다는 것이다. 예를 들어, 6개의 카드 “1 3 5 2 7 3”가 주어질 경우, 3+5+7+3 = 18 만큼의 점수를 얻는 것이 최대이다. N개의 카드가 주어질 때, 얻을 수 있는 점수의 최댓값을 출력하는 프로그램을 작성하시오.

 

입력


첫 번째 줄에 N이 주어진다. ( 1 ≤ N ≤ 100,000 ) 두 번째 줄에 N개의 숫자가 주어지며, 이는 각 카드의 점수를 나타낸다.  

출력


얻을 수 있는 점수의 최댓값을 출력한다.

 

예제 입력

6
1 3 5 2 7 3

예제 출력

18

 


문제풀이

https://github.com/JK921/icandoit/blob/develop/multicampus/src/Solution04.java



'스터디 > 알고리즘 문제풀이' 카테고리의 다른 글

[이러닝] 직사각형배치의경우의수  (0) 2019.01.20
[이러닝] 버튼누르기  (0) 2019.01.20
[이러닝] 구슬게임  (0) 2019.01.20
[이러닝] 직사각형의합  (1) 2019.01.20
[이러닝] 숫자만들기  (1) 2019.01.20

+ Recent posts