728x90
문제
https://www.acmicpc.net/problem/2669
문제 해석
이 문제는 지나간 거리를 구하는 문제처럼 평면의 각 점에 대한 존재 여부를 확인하는 방법으로 구현 가능하다.
각 직사각형의 좌표를 입력하는데 주의할 점은 꼭짓점 좌표를 포함하면 안 된다.
풀이
const filePath = process.platform === "linux" ? "dev/stdin" : "../test.txt";
const input = require("fs").readFileSync(filePath).toString().trim().split("\n");
function solution(input) {
const grid = Array.from({ length: 101 }, () => Array(101).fill(false));
let totalArea = 0;
input.forEach((rect) => {
const [x1, y1, x2, y2] = rect.split(" ").map(Number);
for (let x = x1; x < x2; x++) {
for (let y = y1; y < y2; y++) {
grid[x][y] = true;
}
}
});
// 격자 전체를 확인하여 true인 셀의 수를 카운트
for (let x = 1; x <= 100; x++) {
for (let y = 1; y <= 100; y++) {
if (grid[x][y]) totalArea++;
}
}
return totalArea;
}
console.log(solution(input));
끝
728x90
'WEB > 백준 문제 풀이' 카테고리의 다른 글
백준 3190번 뱀 (node.js) (0) | 2024.05.22 |
---|---|
백준 11536번 줄 세우기 (node.js) (0) | 2024.05.21 |
백준 14504번 로봇 청소기 (node.js) (0) | 2024.05.20 |
백준 2578번 덩치 (node.js) (0) | 2024.05.18 |
백준 2578번 빙고 (node.js) (0) | 2024.05.17 |