728x90 Algorithm1 [알고리즘] 투포인터(Kotlin) 투 포인터 알고리즘이란 리스트에 순차적으로 접근해야 할 때 2개의 점의 위치를 기록하면서 처리하는 알고리즘이다. 사용 예제 1. 특정한 합을 가지는 부분 연속 수열 찾기 부분 연속 수열의 시작점(start)과 끝점(end)의 위치를 기록 특정한 부분합을 M이라 가정할 때 알고리즘은 아래와 같다. 시작점(start)과 끝점(end)이 첫 번째 원소의 인덱스(0)를 가리키도록 한다. 현재 부분합이 M과 같다면 카운트한다. 현재 부분합이 M보다 작으면 끝점(end)를 1 증가시킨다. 현재 부분합이 M보다 크거나 같으면 시작점(start)을 1 증가시킨다. 모든 경우를 확인할 때까지 2번부터 4번 과정을 반복한다. fun getTwoPointerCount(sum: Int) { val data = arrayOf(.. 2021. 5. 24. 이전 1 다음 728x90