반응형
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 |
29 | 30 | 31 |
Tags
- 스파크
- 실행엔진
- Spark 최적화
- EMR 구조
- freenom
- 프로그래머스 큰 수 만들기
- 하둡2.0
- 문맥교환
- lazy evaluation
- AWS Crawler
- 프로그래머스
- 서버간 복사
- 하둡
- 데이터파이프라인
- 지연연산
- 카프카
- 런타임데이터영역
- Catalyst Optimizer
- Spark
- 하둡에코시스템
- 빌드도구
- 데이터엔지니어링
- 데이터베이스복사
- kafka 설치
- 프로그래머스힙
- 데이터 수집
- Databricks
- ORACLE문법
- ORACLE MSSQL차이
- 하둡1.0
Archives
- Today
- Total
띵유로그
[해커랭크]Max Array Sum (Dynamic Programming) 본문
반응형
배열이 주어지고 배열의 일부 원소 합중 최대가 되는 조합을 찾는다.
이때 인접한 원소는 선택할 수 없다.
max_arr배열에 해당 원소 까지의 최대가 되는 합을 계속해서 갱신해 나간다.
모든 원소가 음수일 때는 0을 return 해야하므로, 처음에는 0과 arr[0]중 최대값을 넣는다.
index 1 까지의 최댓값 : arr[0]만 선택할 때 or arr[1]만 선택할 때
index 2 까지의 최댓값 : arr[2]만 선택할 때 or arr[1]만 선택할 때 or arr[0]만 선택할 때 or arr[0] + arr[2]
...
index i 일때
max(max_arr[i-1],max(max_arr[i-2],max(arr[i], arr[i]+max_arr[i-2])))
ㄴ> max(본인선택하지 않고 이전까지 최대, max(본인선택하지 않고 비인접 index까지 선택했을 시 최대, max(본인도 선택하고 비인접 index 까지 선택시 최대)))
이렇게 계속해서 max_arr를 갱신한 후 최대값을 찾는다.
반응형
'알고리즘' 카테고리의 다른 글
[백준] 안전영역 - Python Recursion ERROR (0) | 2021.06.28 |
---|---|
[해커랭크] Minimum Time Required (Search) (0) | 2021.06.09 |
[해커랭크]Hash Tables: Ransom Note (0) | 2021.05.06 |
[해커랭크] Time Conversion (0) | 2021.01.25 |
[프로그래머스][DP] N으로 표현 (0) | 2020.12.15 |
Comments