Algorithm/Two Pointer

    [백준 22862번] 가장 긴 짝수 연속한 부분 수열 (large) (C++)

    https://www.acmicpc.net/problem/22862 22862번: 가장 긴 짝수 연속한 부분 수열 (large) 수열 $S$에서 최대 $K$번 원소를 삭제한 수열에서 짝수로 이루어져 있는 연속한 부분 수열 중 가장 긴 길이를 출력한다. www.acmicpc.net 가장 긴 짝수 연속한 부분 수열 (large) 문제는 투 포인터를 이용하여 해결할 수 있습니다. 수열의 각 원소들을 시작점으로 잡았을 때, 최대 K개의 홀수를 제거하여 만들 수 있는 짝수 수열의 최대 길이를 계산하고, 이중 가장 긴 길이를 출력하면 됩니다. 하지만, N이 최대 1,000,000이기 때문에, O(N2) 알고리즘은 시간 초과가 발생할 수 있습니다. 수열의 시작점이 st, 끝점이 en일 때, 홀수의 개수가 cnt이라면..

    [백준 13144번] List of Unique Numbers (C++)

    https://www.acmicpc.net/problem/13144 13144번: List of Unique Numbers 길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라. www.acmicpc.net List of Unique Numbers 문제는 투 포인터로 해결할 수 있습니다. 중복이 없는 수열의 시작점을 st, 끝점을 en라고 하겠습니다. 따라서, st + 1부터 en까지도 중복이 없습니다. 하지만, seq[st]를 제외하였으므로, en을 이동시켜 중복이 없는 수열의 끝점을 다시 찾아야합니다. (단, seq는 입력 받은 수열을 의미함) seq = {1, 2, 3, 1, 2}로 예를 들어보겠습니다..

    [백준 1806번] 부분합 (C++)

    https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N = S를 만족하는 en을 찾습니다. (단, st는 시작점, en는 끝..