본문 바로가기

Algorithm

[백준] JAVA - 2563 색종이

모눈종이에 1*1 영역을 한칸씩(각 영역에 점을 찍는다라고 생각) 색칠한다고 생각하고 문제를 풀었습니다.

주어진 x,y 좌표에서 10씩 더한다음 그 영역에 1 표시가 되어있지 않다면 정답을 1씩 증가시켜줍니다.

 

package com.ssafy.off;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Baekjoon_2563_색종이 {
	
	static int[][] map = new int[101][101];
	static int cnt;
	
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		int N = Integer.parseInt(br.readLine());
		cnt = 0;
		for (int t = 0; t < N; t++) {
			String[] info = br.readLine().split(" ");
			int y = Integer.parseInt(info[0]);
			int x = Integer.parseInt(info[1]);
			
			
			for (int i = x; i < x+10; i++) {
				for (int j = y; j < y+10; j++) {
					if(map[i][j]==0) {
						map[i][j] = 1;
						cnt++;
					}
				}
			}
		}
		sb.append(cnt);
		System.out.print(sb);
	}

}