본문 바로가기

ALGORITHM

백준 2563 색종이 (Java)

1. 문제 링크

 

2563번: 색종이

가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록

www.acmicpc.net

 

2. 문제 및 입출력예제

 

3. 문제 풀이

100x100 도화지에 10x10 색종이를 붙인다.

x 좌표와 y 좌표를 입력받을 때마다 반복문을 돌려서 각각 10칸씩 방문했다고 체크한다.

색종이 개수만큼 반복문을 돈 이후에는 전체 도화지에서 방문했던 칸의 수를 센다.

그 수가 바로 검은 영역의 넓이이다. 

 

4. 코드

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

public class Main {
	private static StringBuilder sb = new StringBuilder();

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int[][] map = new int[100][100];
		int N = Integer.parseInt(br.readLine());
		String[] split = new String[2];
		for(int i=0;i<N;i++) {
			split = br.readLine().split(" "); //X좌표, Y좌표
			int X = Integer.parseInt(split[0]);
			int Y = Integer.parseInt(split[1]);
			for(int x=0;x<10;x++) {
				for(int y=0;y<10;y++) {
					map[X+x][Y+y] = 1;
				}
			}
		}
		
		int cnt = 0;
		for(int x=0;x<100;x++) {
			for(int y=0;y<100;y++) {
				if(map[x][y]==1) {
					cnt++;
				}
			}
		}
		
		System.out.println(cnt);
	}
}

 

'ALGORITHM' 카테고리의 다른 글

백준 9084 동전 (Java)  (0) 2023.03.01
백준 18870 좌표 압축 (Java)  (0) 2023.02.28
백준 1992 쿼드 트리 (Java)  (0) 2023.02.26
백준 11286 절댓값 힙 (Java)  (0) 2023.02.25
백준 23971 ZOAC 4 (Java)  (0) 2023.02.24