728x90
1. 시작점(start)과 끝점(end)이 첫 번째 원소의 인덱스(0)을 가르키도록 한다.
2. 현재 부분 합이 M과 같다면, 카운트를 한다.
3. 현재 부분 합이 M보다 작다면 end를 1 증가시킨다
4. 현재 부분 합이 M보다 크거나 같다면 start를 1증가시킨다.
5. 모든경우를 확인할때까지 2부터 4번까지의 과정을 반복한다.
- [초기 단계] : 시작점과 끝점이 첫번째 원소의 인덱스를 가리키도록 합니다.
- 현재의 부분 합은 1.
- 현재 카운트 : 0
- [Step 1] : 이전 단계에서의 부분합이 1 -> end를 증가시킵니다.
- 현재의 부분 합 : 3
- 현재 카운트 : 0
- [Step 2] : 부분합이 3 -> end를 증가시킵니다.
- 현재의 부분 합 : 6
- 현재 카운트 : 0
- [Step 3] : 부분합 6 -> start를 1 증가시킵니다.
- 현재의 부분 합 : 5
- 현재 카운트 : 1 (부분합이 5이기 때문에)
- 이걸 계속 반복하다가 마지막
- [마지막]
- 현재의 부분합 : 5
728x90
'코딩테스트 문제풀이' 카테고리의 다른 글
집합의 표현 1717번 python (0) | 2023.02.05 |
---|---|
Union-Find 1976번 여행가자 (0) | 2023.02.05 |
라이브러리를 이용한 순열(수열추측하기) (0) | 2023.01.26 |
LIS(Longest Increasing Subsequence) 알고리즘 (0) | 2022.12.27 |
[python3] 1316번 그룹단어체커 (구현) (0) | 2022.12.27 |