본문 바로가기
알고리즘/문자열, 정렬

[알고리즘] 최대 길이 연속 부분수열 with Java

by VIPeveloper 2022. 3. 14.
반응형

오늘 배운 것

1. 문제 풀이

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        int n = kb.nextInt();
        int k = kb.nextInt();
        int [] arr = new int[n];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = kb.nextInt();
        }
        solution(k,arr);
    }

    private static void solution(int k, int[] arr) {
        int lt=0,answer=-1;
        int cnt=0;  // 0을 1로 바꾼 횟수
        for (int i = 0; i < arr.length; i++) {
            // 1
            if (arr[i] == 0) cnt++;
            // 2
            while (cnt>k){
                if(arr[lt]==0) cnt--;
                lt++;
            }
            // 3
            answer = Math.max(i - lt + 1, answer);
        }
        System.out.println(answer);
    }

}

 

반응형