반응형
Notice
Recent Posts
Recent Comments
Link
It's easy, if you try
[SW Expert Academy] 7964: 부먹왕국의 차원 관문 (Java) 본문
반응형
풀이
import java.util.*;
import java.io.*;
public class Solution {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static BufferedWriter bw =new BufferedWriter(new OutputStreamWriter(System.out));
static StringTokenizer st;
static int cnt, answer, N, D;
static int[] capital;
public static void main(String[] args) throws Exception {
int T = Integer.parseInt(br.readLine());
for(int t=1; t<=T; t++) {
st = new StringTokenizer(br.readLine());
cnt =0; answer =0;
N = Integer.parseInt(st.nextToken());
D = Integer.parseInt(st.nextToken());
capital = new int[N];
st = new StringTokenizer(br.readLine());
for(int i=0; i< N; i++) {
capital[i] = Integer.parseInt(st.nextToken());
}
// 처음 문과 끝 문이 0 이면 무조건 1로 바꿔주고 answer 1 UP
if(capital[0] == 0) {
answer++;
capital[0] =1;
}
if(capital[N-1] == 0) {
answer++;
capital[N-1] =1;
}
for(int i=0; i< N; i++) {
if(capital[i] == 1) { // 관문이 있으면
cnt =0; // 현재 이동 거리 제한 0 으로 만들기
} else {
cnt++;
if(cnt >= D) { // 이동 거리 제한에 걸리면
answer++; // 관문을 재건하고
cnt =0; // 현재 이동 거리 제한 0으로 만들기
}
}
}
bw.append("#"+t+" "+answer+"\n");
}
bw.flush();
bw.close();
}
}
변수설명
cnt: 현재까지 이동 거리 제한 (0인 도시를 지날 때 증가)
answer : 관문을 재건한 수
반응형
'알고리즘 > 자바(Java)' 카테고리의 다른 글
[백준/boj] 17281: ⚾ (Java) / 순열 / 브루트포스 / 구현 (0) | 2021.02.27 |
---|---|
[백준/boj] 2234: 성곽 (Java) / BFS / 비트 마스킹 / 구현 (0) | 2021.02.27 |
[SW Expert Academy] 4789: 성공적인 공연 기획 (Java) (0) | 2021.02.25 |
[백준/boj] 9663: N-Queen (Java) / 백트래킹 (0) | 2021.02.25 |
[백준/boj] 20055: 컨베이어 벨트 위의 로봇 (Java) / 구현 / 시뮬레이션 (0) | 2021.02.23 |
Comments