Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 3단계 지역 DB
- spring
- Forensic 절차
- SessionAttribute
- 정보보호병 후기
- EER
- 소프트웨어 개발보안 경진대회
- Layered Architecture
- 메모리 포랜식
- ㅁㅇㅂ??ㅇㅈㄷ ㅎㅇㅌ...
- Django
- Database
- JSTL
- DBMS
- react
- 소개딩
- 인턴 지원
- 인턴 후기
- 네이버 인턴
- jsp
- PyAmdecoder
- restapi
- 방명록 만들기
- 동읍면 DB
- webhacking 처음
- reversing.kr
- riceteacatpanda
- 행정지역 DB
- frontend
- mysql
Archives
- Today
- Total
웹찢남
[백준 2156 포도주 시식 문제] PYTHON 본문

이번 문제는 전에 포스팅한 2579 계단 오르기 문제와 거의 같다.
기존의 코드에 추가된 요소를 몇개 추가했다.
첫번째로 생각해야하는것은 마지막 잔을 전과 달리 마시지 않아도 된다.
두번째로는 꼭 마시지않은 후에는 마셔야할 의무가 없다.
[백준 2579 계단 오르기 문제] PYTHON
이전의 RGB 문제와 비슷한 유형이다. 다른 점을 꼽으면 이차원 배열로 만들어진 dp가 아니라 1차원이고 RGB는 전 집의 색들로 min값을 찾아 dp를 구성했고 이 계단 오르기 문제는 전,2개전,3개전 집의
harry595.tistory.com
다음과 같이 코드를 짤 수 있다.
N = int(input())
cost= []
dp = [0 for i in range(N)]
for _ in range(N):
cost.append(int(input()))
if(N==1):
print(cost[0])
elif(N==2):
print(cost[0]+cost[1])
elif(N==3):
print(max(cost[0]+cost[2],cost[1]+cost[2],cost[0]+cost[1]))
else:
dp[0]=cost[0]
dp[1]=cost[0]+cost[1]
dp[2]=max(cost[0]+cost[2],cost[1]+cost[2],cost[0]+cost[1])
for i in range(3,N):
dp[i]=max(dp[i-1],dp[i-3]+cost[i]+cost[i-1],dp[i-2]+cost[i])
print(dp[N-1])'백준 Algorithm' 카테고리의 다른 글
| [백준 2748 피보나치 수 2 문제] PYTHON (0) | 2021.04.15 |
|---|---|
| [백준 11053 가장 긴 증가하는 부분 수열 문제] PYTHON (0) | 2021.04.15 |
| [백준 10870 피보나치 수 5 문제] PYTHON (0) | 2021.04.15 |
| [백준 1932 정수 삼각형 문제] PYTHON (0) | 2021.04.15 |
| [백준 2579 계단 오르기 문제] PYTHON (0) | 2021.04.15 |
Comments