728x90
반응형
오늘 배운 것
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);
}
}
728x90
반응형
'알고리즘 > 문자열, 정렬' 카테고리의 다른 글
[알고리즘] 버블 정렬 with Java (0) | 2022.03.25 |
---|---|
[알고리즘] 선택 정렬 with Java (0) | 2022.03.24 |
[알고리즘] 연속된 자연수의 합 with Java (0) | 2022.03.12 |
[알고리즘] 연속 부분수열 with Java (0) | 2022.03.11 |
[알고리즘] 최대 매출 with Java (0) | 2022.03.10 |