문제
N X N 크기의 단어 퍼즐이 입력으로 주어졌을 때
특정 길이 K를 갖는 단어가 들어갈 수 있는 자리의 수를 출력하는 프로그램을 작성하라.
풀이방법
그림과 같은 2차원 배열과 K를 입력으로 받았을 때, 연속된 1의 길이가 K와 같은 길이를 찾는 문제
소스코드
package samsung;
import java.util.*;
public class s_1979 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for(int t = 1; t <= test; t++) {
int n = sc.nextInt();
int l = sc.nextInt();
int[][] map = new int[n][n];
int words = 0;
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
map[i][j] = sc.nextInt();
}
}
for(int i = 0; i < n; i++) {
int cnt = 0;
for(int j = 0; j < n; j++) {
if(map[i][j] == 0) {
if(cnt == l)
words++;
cnt = 0;
}
else
cnt++;
}
if(cnt == l)
words++;
}
for(int j = 0; j < n; j++) {
int cnt = 0;
for(int i = 0; i < n; i++) {
if(map[i][j] == 0) {
if(cnt == l)
words++;
cnt = 0;
}
else
cnt++;
}
if(cnt == l)
words++;
}
System.out.println("#" + t + " " + words);
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 1974. 스도쿠 검증 (0) | 2020.01.29 |
---|---|
[SWEA] 1976. 시각 덧셈 (0) | 2020.01.29 |
[SWEA] 1983. 조교의 성적 매기기 (0) | 2020.01.29 |
[SWEA] 1984. 중간 평균값 구하기 (0) | 2020.01.29 |
[SWEA] 1986. 지그재그 숫자 (0) | 2020.01.29 |
댓글