[1002] 터렛 node.js

박서현·2023년 8월 8일
0
post-thumbnail
post-custom-banner

🍏1002 터렛





조규현에게서부터 r1거리, 백승환에게서부터 r2의 거리 어디든지 류재명이 있을 수 있다.
류재명이 있을 수 있는 위치들을 모두 점을 찍어보면
조규현을 중심으로r1, 백승환을 중심으로 r2 를 반지름으로 갖는 원이 그려진다.






function getDistance (xJo, yJo, JoRyu, xBeak, yBeak, BeakRyu) {
    const distance = Math.sqrt((xJo - xBeak) ** 2 + (yJo - yBeak) ** 2)

    //중심이 같을 경우
    if (distance === 0) {
        if (JoRyu === BeakRyu) {
            return -1;
        } else {
            return 0;
        }
    } else if (distance > JoRyu + BeakRyu || distance < Math.abs(JoRyu - BeakRyu)) {
        return 0;
    } else if (distance === JoRyu + BeakRyu) {
        return 1;
    } else if (distance === Math.abs(JoRyu - BeakRyu)) {
        return 1;
    }else if (distance > Math.abs(JoRyu - BeakRyu) && distance < JoRyu + BeakRyu) {
        return 2;
    }
}

function main () {
    // const input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
    const input = require('fs').readFileSync('txt/1002.txt').toString().split('\n');
    const test = +input[0];

    for (let i = 1; i <= test; i++) {
        const [xJo, yJo, JoRyu, xBeak, yBeak, BeakRyu] = input[i].split(' ').map(Number);
        const result  = getDistance(xJo, yJo, JoRyu, xBeak, yBeak, BeakRyu);

        console.log(result);

    }
}

main();
post-custom-banner

0개의 댓글