알고리즘
[백준] 2563번 : 색종이 _ JAVA ( 주석 설명 ) 본문
1번
→ boolean 2차원 배열을 활용해, 검은 색종이 영역 구하기
import java.io.BufferedReader;
import java.io.IOException;
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)); //빠른 입력을 위해 버퍼를 이용해 입력을 받는다.
StringTokenizer st; //토크나이저를 이용해 입력을 받는다.
boolean[][] paper = new boolean[101][101]; //도화지의 크기가 가로, 세로의 크기가 각각 100이므로 다음과 같은 배열을 생성해준다.
int T = Integer.parseInt(br.readLine()); //색종이의 개수를 입력받는다.
for(int i=0;i<T;++i){
st = new StringTokenizer(br.readLine());
int row = Integer.parseInt(st.nextToken()); //색종이의 가로를 입력받는다.
int column = Integer.parseInt(st.nextToken()); //색종이의 세로를 입력받는다.
for(int a=row;a<row+10;++a){ //색종이의 크기는 10*10이다.
for(int b=column;b<column+10;++b){
paper[a][b] = true; //색종이에 의해 가려진 검은 영역을 true 로 바꿔준다.
}
}
}
int area = 0; // 검은 영역의 넓이 변수이다.
for(int i=0;i<=100;++i){ //도화지의 크기만큼 전부 탐색해, 검은 영역을 찾아낸다.
for(int j=0;j<=100;++j){
if(paper[i][j]) //가려진 검은 영역의 넓이를 카운트 해준다.
++area;
}
}
System.out.println(area); //검은 영역을 출력한다.
}
}
'백준 - JAVA > 2차원 배열' 카테고리의 다른 글
[백준] 2566번 : 최댓값 _ JAVA ( 주석 설명 ) (1) | 2023.02.03 |
---|---|
[백준] 2738번 : 행렬 덧셈 _ JAVA ( 주석 설명 ) (0) | 2023.02.03 |