반응형
📍 연속합 정의
주어진 수열에서 연속된 부분 수열의 합 중 최댓값을 구하는 문제
📍 해결 방법
① DP
◾ WHEN? 입력 크기가 작은 경우
◾ HOW? 이전 부분 수열의 합에 현재 수를 더하면서 최댓값 업데이트
(점화식 : 현재 수를 더할 것인지 or 현재 수부터 새로운 부분 수열을 시작할 것인지 결정)
② 투 포인터
◾ WHEN? 입력 크기가 큰 경우 & 수열 순서가 중요한 문제 (수열의 순서를 유지하며 부분 수열을 구할 수 있으므로)
◾ HOW? 시작 포인터와 끝 포인터를 조정하면서 합을 계산하고, 최댓값 업데이트
➕ 예제
[백준/JAVA] 1644번: 소수의 연속합
🔺 문제 1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 🔺 코드 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 32 33 34 35 36 37 38 39 40 41 42 43
bono039.tistory.com
반응형
'코테 > 개인적으로 헷갈리는 거' 카테고리의 다른 글
문자열에 포함된 공백 여러 개 나타내는 정규표현식 (0) | 2023.08.29 |
---|---|
HashMap 정렬하기 (0) | 2023.08.07 |
조합 (DP) (0) | 2023.07.03 |
에라토스테네스의 체 (0) | 2023.06.15 |
배열로 상하좌우 이동 표현 (0) | 2023.05.04 |