반응형
🅰 백준 2563. 색종이
✏️ 문제 풀이
- 겹치는 부분만 구하면 쉽게 풀 수 있다.
- 색종이를 2차원 배열로 생성하고, 10x10 색종이가 들어오면 그 위치에 1을 더해주었다.
- 만약 10x10 색종이 면적 내 1 이상인 부분이 있으면 겹치는 부분이므로 따로 cnt를 해주고
- 마지막에 전체 면적-cnt를 해줘서 영역의 넓이를 구해주었다.
✏️ 소스코드
package _0810;
import java.util.Scanner;
public class Main_실버5_2563_손은성 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int cnt = 0;
int p[][] = new int[100][100]; // 색종이 2차원 배열 생성
for (int i = 0; i < n; i++) {
int x1 = sc.nextInt();
int y1 = sc.nextInt();
for (int x = x1; x < x1 + 10; x++) { // 주어지는 x~x+10부터
for (int y = y1; y < y1 + 10; y++) { // y~y+10까지
p[x][y]++; // 1씩 더해줌
if(p[x][y]>1) { // 만약 1보다 크면
cnt++; // cnt++
}
}
}
}
System.out.println(n*100-cnt); // 전체면적 - 겹치는 부분
}
}
✅ 후기
- x~x+10까지 하는데 부등호를 <=를 해서 애를 먹었다. =이 되버리면 11가지가 되기 때문에 =부등호를 빼는게 중요했다.
- 간단한 실수였지만 찾는데 오래걸렸다. 앞으로는 브레인스토밍을 다 한후에 코딩을 해야겠다.
반응형
'백준' 카테고리의 다른 글
백준 16926. 배열 돌리기1 (0) | 2021.08.20 |
---|---|
백준 1987. 알파벳 (0) | 2021.08.20 |
백준 3109. 빵집 (0) | 2021.08.20 |
백준 15686. 치킨배달 (0) | 2021.08.13 |
백준 1080. 행렬 (0) | 2021.08.13 |
댓글