umilove98의 블로그

백준 2508 Java 자바 본문

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
반응형

'algorithm > 백준' 카테고리의 다른 글

백준 4673 Java 자바  (0) 2021.09.09
백준 10797 Java 자바  (0) 2021.09.05
백준 5543 Java 자바  (0) 2021.09.04
백준 2693 Java 자바  (0) 2021.09.04
백준 5532 Java 자바  (0) 2021.09.03