algorithm/백준
백준 2508 Java 자바
umilove98
2021. 9. 5. 15:11
반응형
주어진 r,c로 r행 c열의 2차원 배열을 만든다.
만든 배열에 입력받은 사탕의 모양들을 저장한다.
모든 배열을 순회하며 사탕의 모양과 일치하는 연속된 값들이 있는지 확인되면 사탕의 총 개수를 1증가시킨다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Q2508 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
for(int i = 0; i < t; i++) {
int candy = 0;
br.readLine();
StringTokenizer st = new StringTokenizer(br.readLine());
int r = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
char[][] arr = new char[r][c]; // 박스 행렬 생성
for(int j = 0; j < r; j++) { // 박스 내용물을 받아서 저장
String box = br.readLine();
for(int k = 0; k < c; k++) {
arr[j][k] = box.charAt(k);
}
}
for(int j = 0; j < r; j++) { // 사탕 모양이 제대로 만들어졌는지 확인하여 맞다면 사탕의 수 + 1
for(int k = 0; k < c; k++) {
if(k < c-2 && arr[j][k] == '>' && arr[j][k+1] == 'o' && arr[j][k+2] == '<') {
candy++;
}
if(j < r-2 && arr[j][k] == 'v' && arr[j+1][k] == 'o' && arr[j+2][k] == '^') {
candy++;
}
}
}
System.out.println(candy);
}
}
}
|
cs |
반응형