728x90
반응형
평면에 네 개의 직사각형이 놓여 있는데 그 밑변은 모두 가로축에 평행하다. 이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함할 수도 있으며, 변이나 꼭지점이 겹칠 수도 있다.
이 직사각형들이 차지하는 면적을 구하는 프로그램을 작성하시오.
풀이
첫 꼭지점에서 끝 꼭지점까지 순환문을 돌면서 boolean 배열에 true 값을 넣어준다.
겹치는 부분은 어차피 true이기 때문에 중복이 발생하지 않는다.
최종적으로 true인 값의 갯수를 새어준다.
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 35 36 37 38 39 | import java.util.Scanner; /** * Created by homr on 2017. 7. 8.. */ public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); boolean[][] arr = new boolean[101][101]; int x1, y1, x2, y2; int total = 0; for(int i=0; i<4; i++){ x1 = sc.nextInt(); y1 = sc.nextInt(); x2 = sc.nextInt(); y2 = sc.nextInt(); for(int j = y1; j<y2; j++){ for(int k = x1; k<x2; k++){ arr[j][k] = true; } } } for(int j = 0; j<101; j++){ for(int k = 0; k<101; k++){ if(arr[j][k]==true){ total++; } } } System.out.println(total); } } | cs |
반응형
'알고리즘 문제풀이' 카테고리의 다른 글
[Backjoon] 10707번 문제 - 수도요금 (0) | 2017.07.08 |
---|---|
[Backjoon] 3009번 문제 - 네번째 점 (0) | 2017.07.08 |
[Backjoon] 10823번 문제 - 공 바꾸기 (0) | 2017.07.04 |
[Backjoon] 10569번 문제 - 다면체 (0) | 2017.07.04 |
[Backjoon] 11966번 문제 - 2의 제곱인가? (0) | 2017.07.03 |
댓글