일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 렌더링 파이프라인
- 알고리즘
- 프로그래머스
- 멀티쓰레드
- directx
- 운영체제
- 컨디션 변수
- 멀티프로세서
- 병행성
- 백준
- codility
- DirectX 12
- 다이나믹 프로그래밍
- 다이나믹프로그래밍
- 병행성 관련 오류
- 타입 객체
- 쓰레드
- 자료구조
- 디자인패턴
- 락
- OS
- 동적계획법
- 그리디알고리즘
- 스케줄링
- 그리디 알고리즘
- I/O장치
- DirectX12
- 파일시스템 구현
- Direct12
- 영속성
Archives
- Today
- Total
목록연속합 (1)
기록공간

동적 계획법을 사용하여 해결하는 문제였다. N번째에서 최대가 되는 연속합은 두가지 경우가 있다. 1. N-1번째의 연속합과 N번째 값을 더한 것 2. N번째 값 (N번째 부터 연속합을 구하는 경우) 이 두가지 경우를 점화식으로 만들면 다음과 같다. N번째의 연속합을 기록할 DP테이블 배열 DP[N+1](인덱스 접근시 0부터 시작하므로)과 해당 번째의정수를 기록할 배열 num[N+1]이 있다고 했을때, 첫번째 경우는 DP[N] = DP[N-1] + num[N]이고, 두번째 경우는 DP[N] = num[N]이 된다. 이 둘중 가장 큰 값이 DP[N]에 알맞는 연속합 값이 된다. 1번째 부터 마지막 번째 까지 알맞는 DP값을 기록한 후 DP 배열 중 가장 큰 값이 이 문제의 결과값이 된다. 주의할 점은 음수가..
Algorithm/문제
2020. 3. 16. 17:53