
const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : 'input.txt';
const [[n], ...inputs] = fs
.readFileSync(path)
.toString()
.trim()
.split('\n')
.map((it) => it.split(' ').map(Number));
inputs.push(inputs[0]);
let ans = 0;
for (let i = 0; i < n; i++) {
ans += inputs[i][0] * inputs[i + 1][1] - inputs[i][1] * inputs[i + 1][0];
}
console.log((Math.abs(ans) * 0.5).toFixed(1));
⏰ 소요한 시간 : -
신발끈의 정리를 이용하는 수학문제다.
신발끈의 정리란 좌표평면상 점의 좌표를 이용하여 볼록 및 오목 다각형의 넓이를 계산하는 공식이다.
가장 첫 점을 마지막에 넣어준 뒤 신발끈의 정리를 수행하면 된다.
정답을 출력할 때는 소수점 아레 둘째자리에서 반올림해서 출력한다.
https://namu.wiki/w/%EC%8B%A0%EB%B0%9C%EB%81%88%20%EA%B3%B5%EC%8B%9D