https://www.acmicpc.net/problem/2563
정답
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(br.readLine());
int x=0;
int y =0;
int totalArea=0;
boolean[][] paper = new boolean[100][100];
for(int i=0; i<cnt;i++){
StringTokenizer st = new StringTokenizer(br.readLine());
x=Integer.parseInt(st.nextToken());
y=Integer.parseInt(st.nextToken());
for(int j=x;j<x+10;j++){
for(int k=y;k<y+10;k++){
if(!paper[j][k]){ // 만약 paper[j][k] false 이라면
paper[j][k] =true;
totalArea++;
}
}
}
}
System.out.print(totalArea);
}
}
풀이
step 1) x,y 좌표 배열 만들기
- boolean[][] paper = new boolean[100][100];
- boolean 기본값 : false
step 2) x ,y 좌표
- ex) x=3/ y =7 일 경우
- 이중 반복문 사용해서 true 변환 하고 totalArea 1씩 증가