728x90
1) 100*100 크기의 int 2차원 배열을 생성하고, 모든 값은 0으로 초기화한다.
--> 색종이가 차지하는 위치를 x, y 좌표로 생각하여, 색종이가 있는 부분은 1로 값을 바꿔줄 예정이다.
2) 입력받은 숫자(색종이 수)만큼 for문을 돌린다.
3) for문에서 색종이의 위치를 각각 x, y 로 입력받는다.
4) 색종이는 x좌표: x~x+10, y좌표: y~y+10에 해당하는 부분을 차지하므로, 해당 부분의 값을 1로 저장한다.
5) 반복문을 모두 돌리고 나면, 2차원 배열 area는 색종이가 있는 부분은 1, 없는 부분은 0의 값을 갖게된다.
6) area 내의 값을 모두 더하여 출력한다. (sum)
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[][] area = new int[100][100];
for (int i=0; i<100; i++){
for (int j=0; j<100; j++){
area[i][j] = 0;
}
}
int num = sc.nextInt();
for (int n=0; n<num; n++){
int x = sc.nextInt();
int y = sc.nextInt();
for (int i=x; i<x+10; i++){
for (int j=y; j<y+10; j++){
area[i][j] = 1;
}
}
}
int sum = 0;
for (int i=0; i<100; i++){
for (int j=0; j<100; j++){
sum = sum + area[i][j];
}
}
System.out.println(sum);
}
}728x90
'알고리즘' 카테고리의 다른 글
| 백준 2869 (Java) (1) | 2023.12.03 |
|---|---|
| 백준 1193 (Java) (0) | 2023.12.03 |
| 백준 25206 (Java) (1) | 2023.11.28 |
| 백준 1316 (Java) (0) | 2023.11.27 |
| 백준 2941 (Java) (1) | 2023.11.27 |