본문으로 바로가기

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWuSgKpqmooDFASy 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 


 

import java.util.*;
import java.io.*;

public class Solution {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int T = Integer.parseInt(br.readLine());
		for (int t = 1; t <= T; t++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			int N = Integer.parseInt(st.nextToken()); // 부먹 왕국의 도시 수
			int D = Integer.parseInt(st.nextToken()); // 이동 제한 거리
			
			int[] kingdom = new int[N];
			st = new StringTokenizer(br.readLine());
			for (int i = 0; i < N; i++)
				kingdom[i] = Integer.parseInt(st.nextToken());
			
			int count = 0; // 이동거리 체크
			int fix = 0; // 설치할 차원관문 개수
			for (int i = 0; i < N; i++) {
				count++;
				
				if (kingdom[i] == 1 || count >= D) { // 차원관문이 있거나 최대 이동거리를 만족한 경우
					if (count >= D && kingdom[i] != 1)
						fix += 1;
					count = 0;
					continue;
				}
			}
			System.out.println(fix);
		}
	}
}