티스토리 뷰

https://www.acmicpc.net/problem/2166

 

2166번: 다각형의 면적

첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다.

www.acmicpc.net

 

const input = require('fs').readFileSync('./dev/stdin').toString().trim().split('\n');
const N = +input.shift();

const points = input.map((v) => v.split(' ').map(Number));

function calc(i, j) {
        const [x1, y1] = points[0];
        const [x2, y2] = points[i];
        const [x3, y3] = points[j];
        return (x1 * y2 + x2 * y3 + x3 * y1 - y1 * x2 - y2 * x3 - y3 * x1) / 2;
}

let answer = 0;
for (let i = 0; i < N - 1; i++) {
        answer += calc(i, i + 1);
}
console.log(Math.abs(Math.round(answer * 10) / 10).toFixed(1));
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함