https://www.acmicpc.net/problem/2669
코드설명
구현문제입니다.
문제에서 유의해야할점은,
문제에서 주어진 그림을 보면 x좌표, y좌표 형태로 되어있습니다.
- 왼쪽 아래 꼭짓점의 x좌표, y좌표이고 세 번째와 네 번째의 정수는 사각형의 오른쪽 위 꼭짓점의 x좌표, y좌표이다
위의 조건을 행 열로 만들기 위하여 x좌표를 행으로 보고, y좌표를 열로 바꿔서 본다면 이전에 풀듯 모양을 맞추어서 풀 수 있습니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static int L, C;
public static int answer = 0;
public static int[][] map;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
map = new int[101][101];
for(int i=0; i<4;i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int row1 = Integer.parseInt(st.nextToken());
int col1 = Integer.parseInt(st.nextToken());
int row2 = Integer.parseInt(st.nextToken());
int col2 = Integer.parseInt(st.nextToken());
makeRectangle(row1, col1, row2, col2);
}
for(int i=0;i<101;i++) {
for(int j=0;j<101;j++) {
if(map[i][j] == 1) {
answer += 1;
}
}
}
System.out.println(answer);
}
public static void makeRectangle(int r1, int c1, int r2, int c2) {
for(int i=r1;i<r2; i++) {
for(int j=c1;j<c2; j++) {
map[i][j] = 1;
}
}
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2671 잠수함식별 - 문자열 + 정규표현식 JAVA (0) | 2023.08.24 |
---|---|
[백준] 2670 연속부분최대곱 - DP JAVA (0) | 2023.08.24 |
[백준] 1759 암호 만들기 - 백트래킹 + Stream JAVA (0) | 2023.08.23 |
[백준] 17136 색종이 붙이기 - 브루트포스(Brute-Force) + 백트래킹(BackTracking) JAVA (0) | 2023.08.23 |
[백준] 2661 좋은수열 - 백트래킹(Backtracking) + 문자열(String) + 아이디어(Idea) JAVA (0) | 2023.08.22 |