OneDev

[JAVA] 백준 2563- 색종이 본문

자료구조&알고리즘/BOJ

[JAVA] 백준 2563- 색종이

one_dev 2023. 6. 3. 23:40

※ 풀이

(1) 가로, 세로의 길이가 100인 정사각형의 흰색 도화지를 100 x 100 행렬로 선언합니다.

초기화는 하지 않은 int 배열이므로 초기값은 0으로 저장됩니다.

(2) 구하고자 하는 값(=넓이) 를 저장할 변수 area 를 선언합니다

(3) 색종이의 개수를 입력받고

(4) 입력받은 개수만큼 반복문을 돌려 흰색도화지(0) 검은 색종이에 해당하는 부분만큼을(1)로 값을 바꿔줍니다

(5) 바꿔주는 과정마다(0 → 1) 넓이를 1 증가 시킵니다

(6) 모든 반복이 종료되었을 때 넓이를 출력합니다

 

※ 소스코드

package BOJ;

import java.util.Scanner;

public class B2563 {
	public static void main(String[] args) {
		int[][] arr = new int[100][100]; // 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지
		int area = 0; // 넓이를 저장할 변수
        
		Scanner scan = new Scanner(System.in);
        
		int num = scan.nextInt(); // 색종이의 개수 입력받기
        
        //색종이 개수만큼 반복문돌려 검은 색종이 붙이기(?)
		for(int i=0; i<num; i++) {
			int x = scan.nextInt();
			int y = scan.nextInt();
			for(int a=x; a<x+10; a++) {
				for(int b=y; b<y+10;b++) {
					if(arr[a][b] != 1) {
						arr[a][b] = 1;
						area++;
					}
				}
			}
		}
		System.out.println(area);
	}

}
Comments