

사칙연산
처음에 만들어두고 빼는 식으로 생각을 했었는데 풀다보니 이상한것 같아 배열로 생각하니 쉬워졌다.
이차원배열로 생각한다음 10*10의 고정된 크기를 돌면서 색칠된 부분을 true로 바꿔주고 sum을
하나씩 증가시켰다. 이차원배열의 경우 boolean으로 만들어서 풀어줬다.
package BOJ;
import java.io.*;
import java.util.*;
public class BOJ_2563 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
boolean arr[][] = new boolean[101][101];
int sum = 0;
int n = Integer.parseInt(br.readLine());
for(int tc=0; tc<n; tc++) {
st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
for(int i=0; i<10; i++) {
for(int j=0; j<10; j++) {
if(!arr[x+j][y+i]) {
arr[x+j][y+i] = true;
sum += 1;
}
}
}
}
System.out.println(sum);
}
}
생각을 너무 정적으로 했던것 같다. 좀더 유동적으로 푸는 여러 방법을 생각해봐야겠다는 생각이 들었다. 문제를 풀다가 이상한데 라는 생각이 들지않게 설계를 미리 잘하고 들어가야겠다고 다시 다짐하게 되었다. (생각보다 잘안되는것 같지만 열심히 해보는중이다..)
https://www.acmicpc.net/problem/2563