*문제 출처는 프로그래머스에 있습니다.
문제 제목: 스티커 모으기(2) (3단계)
문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/12971
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명

나의 풀이
def solution(sticker):
if len(sticker) == 1: # 스티커 사이즈가 1이면 0번째를 뽑는다.
return sticker[0]
size = len(sticker) # 스티커 전체 길이
dp1 = [0] + sticker[:-1] # dp1 1번째를 스티커를 선택했을 때
for i in range(2, size):
dp1[i] = max(dp1[i - 1], dp1[i - 2] + dp1[i])
dp2 = [0] + sticker[1:] # dp2 마지막 스티커를 선택햇을 때
for i in range(2, size):
dp2[i] = max(dp2[i - 1], dp2[i - 2] + dp2[i])
answer = max(dp1[-1], dp2[-1])
return answer
※ 알아야 할 것
https://school.programmers.co.kr/learn/courses/30/lessons/42897
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
이 문제처럼 동적계획법을 사용할 때 원형큐는 0번째를 사용할지 안할지를 고려해야 합니다!
'Coding Test > 프로그래머스-Python' 카테고리의 다른 글
| Programmers / 전력망을 둘로 나누기 / Python (0) | 2025.03.26 |
|---|---|
| Programmers / 서버 증설 횟수 / Python (0) | 2025.03.14 |
| Programmers / 시소 짝꿍 / Python (2) | 2025.03.12 |
| Programmers/ [PCCP 모의고사 #1] 2번 - 체육대회 / Python (0) | 2025.02.28 |
| Programmers/ [PCCP 모의고사 #1] 1번 - 외톨이 알파벳 / Python (0) | 2025.02.28 |