알고리즘 풀이/SWEA
[SWEA][JAVA] 1979. 어디에 단어가 들어갈 수 있을까
by cornsilk-tea
2022. 1. 16.
package level_2;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class SW_1979 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int T = Integer.parseInt(br.readLine());
for (int test_case = 1; test_case <= T; test_case++) {
st = new StringTokenizer(br.readLine(), " ");
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
int[][] arr = new int[N][N];
for (int a = 0; a < N; a++) {
st = new StringTokenizer(br.readLine(), " ");
for (int b = 0; b < N; b++) {
arr[a][b] = Integer.parseInt(st.nextToken());
}
}
// 흰색 부분은 1, 검은색 부분은 0
// 1이 쓸수있는 부분
// 왼쪽에서 오른쪽으로 확인
int wordcount = 0;
int totalcount = 0;
// bw.write("왼쪽에서 오른쪽으로" + "\n");
for (int a = 0; a < N; a++) {
for (int b = 0; b < N; b++) {
if (arr[a][b] == 1) { // 해당 칸이 비어있는경우
wordcount += 1;
if (b == N - 1 & wordcount == K) {// 마지막줄에 왔을때
// bw.write("한번추가 arr[" + a + "][" + b + "]" + "\n");
totalcount += 1;
wordcount = 0;
}
} else {// 해당칸이 차있을때 즉 0일때
if (wordcount == K) {
// bw.write("한번추가 arr[" + a + "][" + b + "]" + "\n");
totalcount += 1;
}
wordcount = 0;
}
}
wordcount = 0;// 한줄 끝날때마다 초기화
}
// bw.write("위에서 아래로" + "\n");
wordcount = 0;
for (int b = 0; b < N; b++) {
for (int a = 0; a < N; a++) {
if (arr[a][b] == 1) { // 해당 칸이 비어있는경우
wordcount += 1;
if (a == N - 1 & wordcount == K) {// 마지막줄에 왔을때
// bw.write("한번추가 arr[" + a + "][" + b + "]" + "\n");
totalcount += 1;
wordcount = 0;
}
} else {// 해당칸이 차있을때 즉 0일때
if (wordcount == K) {
// bw.write("한번추가 arr[" + a + "][" + b + "]" + "\n");
totalcount += 1;
}
wordcount = 0;
}
}
wordcount = 0;// 한줄 끝날때마다 초기화
}
System.out.println("#" + test_case + " " + totalcount);
// bw.write("#" + test_case + " " + totalcount + "\n");
// bw.write(totalcount + "\n");
// for (int[] aa : arr) {
// for (int c : aa) {
// bw.write(c + " ");
// }
// bw.write("\n");
// }
// bw.flush();
// bw.close();
}
bw.flush();
bw.close();
}
}