11053, 2579, 9184

qkrrnjswo·2023년 3월 23일
0

9184. 신나는 함수 실행

    1. 3차원 배열을 만드는 것이 핵심
    2. 그 배열의 값들을 모두 저장 (a,b,c <=20)
    3. 배열[a][b][c] => 정답

2579. 계단 오르기

      max값을 배열에 저장

      i = 현재 계단
      M[i] = 계단이 i까지 있을 때 가장 큰값
      V[i] = 현재 계단의 값

      1. 바로 전 계단에서 옴 : M[i-3] + V[i-1] + V[i]
      2. 한칸 띄어 옴 : M[i-2] + V[i]
      3. 1,2를 비교하면 M[i]의 쵀댓값을 구할 수 있다
      4. M[0],M[1],M[2] 값을 구하면 M[3]부터는 자동으로 구하기 가능!
      
      5. M[0] = V[0]
      6. M[1] = V[0]+V[1]
      7. M[2] = max( V[0]+V[2], V[1]+V[2])


	

11053. 가장 긴 증가하는 부분 수열

	1. 가장 큰 부분 수열의 '길이'만 알면 된다
    2. 부분수열을 만드는 도중에 필요한 것:
    	1) 부분 수열의 마지막 값 (대소비교)
        2) 수열의 길이
        
    1. A[i] 수열의 값이 들어있는 리스트
    2. B[i] [0]부터 시작하는 빈 리스트
    3. A[i] > B[-1] ==> B에 A[i]를 삽입
    4. A[i] <= B[-1] ==> 새로운 부분 배열의 시작임
    	B안의 값들과 비교를 해나감
        if B[j] >= A[i]: B값이 크거나 같은 값이 나오면
            B[j] = A[i]  그 값을 A[i와 교체]
    5. 3,4 반복

11053. 가장 긴 증가하는 부분 수열 참고

0개의 댓글