728x90
반응형
https://www.acmicpc.net/problem/2669
import java.io.*;
import java.util.*;
public class Main {
static int stoi(String s) {
return Integer.parseInt(s);
}
static int answer = 0;
static boolean[][] board = new boolean[100][100];
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
for (int i = 0; i < 4; i++) {
st = new StringTokenizer(br.readLine());
int x1 = stoi(st.nextToken());
int y1 = stoi(st.nextToken());
int x2 = stoi(st.nextToken());
int y2 = stoi(st.nextToken());
for (int j = y1; j < y2; j++) {
for (int k = x1; k < x2; k++) {
board[j][k] = true;
}
}
}
for (boolean[] row : board) {
for (boolean bool : row) {
if (bool) {
answer++;
}
}
}
System.out.println(answer);
}
}
좌표쪽이 약해서 풀어봤는데, 좌표축의 최대 길이가 100이라서 그냥 100*100 배열을 만들어서 풀었다.
x1, y1이 왼쪽 아래의 좌표, x2, y2가 오른쪽 위 좌표이고, 원점이 가장 왼쪽 아래이다.
이는 다시말하면 y1은 항상 y2보다 작거나 같고, x1은 항상 x2보다 작거나 같다는 뜻이어서 그냥 이중 포문으로 1->2가 되도록 풀어주었다.
그리고 좌표 범위만큼 돌면서 true로 변경해주었고, 마지막으로 다시 2차원 배열을 돌면서 true인 것만 카운팅해서 출력해주었다.
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준 자바 8979] 올림픽 (실버5) (0) | 2024.05.26 |
---|---|
[프로그래머스 자바] 이중우선순위큐 (Lv.3) (0) | 2024.05.25 |
[프로그래머스 자바] 주식가격 (Lv.2) (0) | 2024.05.23 |
[프로그래머스 자바] 다리를 지나는 트럭 (Lv.2) (0) | 2024.05.22 |
[백준 자바 2179] 비슷한 단어 (골드 4) (0) | 2024.05.21 |