1. 2579번: 계단오르기
문제: https://www.acmicpc.net/problem/2579
2579번: 계단 오르기
계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점
www.acmicpc.net
-정답 풀이:
마지막 계단을 밟아야 하므로 마지막 값인 s[i]을 항상 더해야함 . 상황은 아래처럼 두가지가 있다
case 1 : 마지막 이전 계단을 밟고 있는 경우
case 2: 마지막 이전 계단을 밟지 않고 있는 경우
-점화식:

-틀린 풀이:

시작부분부터 올라가는 걸로 풀어서 문제 조건(마지막 계단을 꼭 밟아야한다)을 만족 안 할 수도 있음.
고로 마지막 계단 입장에서 생각해야함-> 역시나 점화식을 생각하는 것이 관건
2. 11053번: 가장 긴 증가하는 부분 수열
문제: https://www.acmicpc.net/problem/11053
11053번: 가장 긴 증가하는 부분 수열
수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이
www.acmicpc.net
처음들어본 가장 긴 증가하는 수열
여기서는 리스트를 두개 만들어서 수열의 개수를 넣는 것이 관건이었다.
-정답 풀이:

:값이 큰 것 중에 a인덱스 값이 작은 수에 한하여 숫자를 누적하고, 이후에 하나씩 증가하는 방식
-틀린 풀이:
뭔가 맞는 것 같은데 append를 썼는데 계속 IndexError가 발생했다. 왜인지 생각해봐야할듯
->NOPE. 문제에서는 정보가 하나의 리스트로 다 주어졌기 때문에 반복문에 append하면 안됨. 초기값 잘못 받았음!!(2022.06.02)

3. 1932번 : 정수 삼각형
문제: https://www.acmicpc.net/problem/1932
1932번: 정수 삼각형
첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.
www.acmicpc.net
-정답 풀이
: 5번까지는 어느정도 작성 했는데 밑부분을 생각하는 것이 어려웠음.
삼각형 가장 마지막 까지 규칙대로 더했을 때 가장 큰 값을 출력하면됨
i 번째 행렬에서 0번 컬럼와 (i-1)컬럼은 바로 위의 값과 더하면 되므로 아래 if,elif 문과 같이 작성하면 되고,
나머지는 전 행의 대각선 왼쪽,오른쪽 값과의 합 중에 최댓값을 넣으면 된다

-틀린 풀이:
위에서부터 아래로 더해나갔는데 i+1행에서 값을 더하는 것이 어려웠음. 아무튼 이렇게 생각하거나, 작성하면 안된다는 것을 알게됨

'백준 > DP' 카테고리의 다른 글
[코딩테스트]#8. 백준 1010번,11052번,1904번 (0) | 2021.12.17 |
---|---|
[코딩테스트] #7. 백준 10844번,2193번,11727번 (0) | 2021.12.14 |
[코딩테스트]#6. 백준/다이나믹프로그래밍/ 1912번,2156번, 2748번 (0) | 2021.12.13 |
[코딩테스트] #4. 백준 9095번, 10870번, 11726번,1149번 (0) | 2021.12.11 |
[코딩테스트]#3. 백준 2839번, 1463번, 1003번 (0) | 2021.12.10 |