<한마디>
'sc.close()' 사용 이유 : 만약 이 코드를 사용하지 않으면 종료된 이후에서 입력 스트림이 실행돼서 '자원 누수' 즉 메모리 자원을 계속 사용해 메모리 공간이 부족하기 떄문에 낭비가 심해진다. 이 코드를 사용하면 입력 스트림이 닫고 나서 프로그램이 종료된 이후에도 유지가 된다.

2563번 문제
이 문제는 전체 도화지에서 검은색 색종이를 붙이고 전체 검은색 색종이의 넓이 구하는 프로그램입니다.
(겹쳐진 부분은 중복 x)

2563번 코드
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import java.util.*;
public class Backjoon2563 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int coloredPaperNum = sc.nextInt(); // 색종이 수
int[][] allPaper = new int[100][100]; // 도화지 크기
int area = 0; // 색종이 넓이
// 색종이 x,y 좌표 입력
for(int i=0; i < coloredPaperNum ;i++) {
int x = sc.nextInt();
int y = sc.nextInt();
for(int j = x ;j < x + 10 ;j++) {
for(int k = y; k < y + 10 ;k++) {
allPaper[j][k] = 1; // 한 공간에 넓이가 1이므로 색종이 넓이를 구하기 위해 1 삽입
}
}
}
// 전체 색종이 넗이
for(int i = 0; i < allPaper.length ;i++) {
for(int j = 0; j < allPaper.length ;j++) {
if(allPaper[i][j] == 1) {
area++;
}
}
}
System.out.println(area);
}
}
|
cs |
2D 관점에서 생각해보면 배열의 공간 하나가 넓이로 삽입이 가능하기에 쉽게 표면적 색종이의 넓이를 구할 수 있다.
2563 출력결과

'백준 알고리즘 > Java 언어' 카테고리의 다른 글
| 백준 알고리즘 11005번 문제(Java) (0) | 2024.06.25 |
|---|---|
| 백준 알고리즘 2745번 문제(Java) (0) | 2024.06.25 |
| 백준 알고리즘 10798번 문제(Java) (0) | 2024.06.24 |
| 백준 알고리즘 2566번 문제(Java) (0) | 2024.06.23 |
| 백준 알고리즘 2738번 문제(Java) (0) | 2024.06.21 |