반응형
1~100까지 좌표에서 n만큼 좌표를 입력받고 좌표는 맨 아래 맨 왼쪽의 좌표를 받는다.
거기서 오른쪽으로 10칸 위로 10칸 정사각형을 n만큼 칠해서 총 칠해진 면적을 더해서 출력한다. (겹친 곳 제외)
100x100 크기의 배열을 만들고 한번 체크된 곳인지 아닌지만 중요하기 때문에 boolean 타입으로 배열을 선언한다.
정사각형 개수 n을 입력받고 x y좌표부터 x축은 오른쪽으로 10 y축으로 10칸 반복하면서 true로 체크한다. n만큼 반복하면서 true인 곳은 지나치고 true로 체크할때마다 sum 변수에 1씩 더해준다.
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
|
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
boolean arr[][] = new boolean[101][101];
int sum = 0;
int n = sc.nextInt();
for(int i=0; i<n; i++) {
int x = sc.nextInt();
int y = sc.nextInt();
for(int j=0; j<10; j++) {
for(int k=0; k<10; k++) {
if(!arr[x+j][y+k]) {
arr[x+j][y+k] = true;
sum += 1;
}
}
}
}
System.out.println(sum);
}
}
|
cs |
7행 : [101][101] 크기의 배열 선언한다.
100x100으로 선언해도 되지만배열의 주소는 0부터이기 때문에 좌표값을 그대로 사용하려면 햇갈리지 않게 101로 하는게 편하다.
18~20행 : 자바에서 boolean은 false로 초기화되기 때문에 true로 체크되지 않았으면 입력된 좌표값에서 x축 y축으로 10번씩 for문을 돌면서 true로 체크해주고 sum 변수에 1씩 더해준다.
25행 : for문을 다 돌고 출력하면 끝
반응형
'프로그래밍 > 백준 알고리즘 코드' 카테고리의 다른 글
[백준] 11005번 JAVA 진법 변환 2 - 일반 수학 1 (0) | 2024.07.31 |
---|---|
[백준] 2745번 JAVA 진법 변환 - 일반 수학 1 (0) | 2024.07.31 |
[백준] 10798번 JAVA 세로읽기 - 2차원 배열 (0) | 2024.01.16 |
[백준] 2566번 JAVA 최댓값 - 2차원 배열 (0) | 2024.01.15 |
[백준] 2738번 JAVA 행렬 덧셈 - 2차원 배열 (0) | 2024.01.15 |
댓글