백준: 색종이

김아무개·2023년 4월 9일
0

백준

목록 보기
14/17

내 코드

package baekjoon;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Test20 {
    public void main() {
        try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) {
            boolean[][] arr = new boolean[101][101];
            
            int sum = 0;
            int n = Integer.parseInt(br.readLine());
            while (n-- > 0) {
                StringTokenizer st = new StringTokenizer(br.readLine());
                int x  = Integer.parseInt(st.nextToken());
                int y  = Integer.parseInt(st.nextToken());
                
                for (int i = x; i < x + 10; i++) {
                    for (int j = y; j < y + 10; j++) {
                        if (!arr[i][j]) {
                            arr[i][j] = true;
                            sum++;
                        }
                    }
                }
            }
            
            System.out.println(sum);
        } catch (Exception e) {
            System.out.println("err 😭");
            e.printStackTrace();
        }
    }
}

우와 이 문제
몇분동안 ' 아... 저 겹치는 부분을 어떻게 계산하지.... '하고 고민만 하면서 손도 못대고 있었는데
BFS 공부하면서 새로 배운 방문 배열을 여기서 사용하면 되겠다는 생각이 번뜩 들었다!
이럴때 정말 짜릿하다 🤩
새로 색칠되는 부분 표시하면서 숫자세는 변수에 1 증가 시켜 주었더니 답이 나왔다🤩

profile
Hello velog! 

0개의 댓글