728x90
반응형
//스티커가 1개일때
// dp문제는 1개 / 2개 일때 먼저 출력할 수 있으면 출력하자

#include <iostream>
#include <vector>
using namespace std;
int solution(vector<int> sticker)
{
int answer =0;
int n = sticker.size();
vector<int> dp1(n,0);
vector<int> dp2(n,0);
// dp1 14부터
for (int i = 1; i < n; i ++){
dp1[i] = sticker[i-1];
}
for (int i = 1; i < n; i ++){
dp2[i] = sticker[i];
}
for(int i = 2; i < dp1.size(); i++){
dp1[i] = max(dp1[i-1],dp1[i-2] + dp1[i]);
}
for(int i = 2; i < dp2.size(); i++){
dp2[i] = max(dp2[i-1],dp2[i-2] + dp2[i]);
}
answer = max(dp1[dp1.size()-1],dp2[dp2.size()-1]);
//스티커가 1개일때
// dp문제는 1개 / 2개 일때 먼저 출력할 수 있으면 출력하자
if (n == 1){
return sticker[0];
}
return answer;
}
로직 참고
https://sillon-coding.tistory.com/424
Programmers / 스티커 모으기(2) / Python 파이썬
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 스티커 모으기(2) (3단계) - 동적 계획법 문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/12971#qna 프로그래머스 코드 중심의 개발자 채
sillon-coding.tistory.com
728x90
반응형
'coding test - C++ > 기본기문제' 카테고리의 다른 글
| [C++] 배달 - 다익스트라로 구현 (각 거리의 최소 비용 구하기 - 우선순위큐) (0) | 2026.10.03 |
|---|---|
| [C++] 땅따먹기 - DP (0) | 2026.10.03 |
| [C++] 가장 큰 정사각형 찾기 - DP (0) | 2026.10.03 |
| [C++] 다이나믹 프로그래밍 - AI 개념 정리 (0) | 2026.10.01 |
| [C++] 이분탐색 (0) | 2026.10.01 |