[백준/BOJ] 3009번 네 번째 점 (Javascript / Node js)
2023. 9. 2. 17:54ㆍ코딩 테스트 (BOJ)
문제풀이
문제는 간단하다. 직사각형의 네 번째 점의 좌표를 출력하는게 문제인데, 말 그대로 직사각형이기 때문에, 한 꼭짓점의 x좌표와 y좌표는 반드시 같은 x좌표를 갖는 다른 꼭짓점과, 같은 y좌표를 갖는 다른 꼭짓점이 존재한다.
만약 제공된 꼭짓점들의 좌표가 위와 같다면, 꼭짓점들의 x좌표는 10이 두개, 30이 한개이니 남은 꼭짓점의 좌표가 30이란 것을 알 수 있다. y좌표도 마찬가지로 20이 두개, 10이 한개이니 남은 꼭짓점의 y좌표는 10이 되겠다.
이를 로직으로 구현하면 각각의 꼭짓점의 x좌표, y좌표 각각 같은 값이 몇개인지 조사하고, 조사한 꼭짓점과 같은 좌표값이 본인을 포함해 1개라면 이 값을 4번째 꼭짓점의 좌표로 특정할 수 있다.
전체코드
const fs = require("fs");
var input = fs.readFileSync("/dev/stdin").toString().trim().split("\n").map(item => item.split(" "));
input = input.map(item => item.map(item2 => parseInt(item2)));
var cntIndex0 = [0, 0, 0];
var cntIndex1 = [0, 0, 0];
for(let i = 0; i<3; i++){
for(let j = 0; j<3; j++){
if(input[i][0] == input[j][0]){
cntIndex0[i] += 1;
}
if(input[i][1] == input[j][1]){
cntIndex1[i] += 1;
}
}
}
var x = 0;
var y = 0;
for(let i = 0; i< 3; i++){
if(cntIndex0[i] == 1){
x = input[i][0];
}
if(cntIndex1[i] == 1){
y = input[i][1];
}
}
console.log(x + " " + y);
'코딩 테스트 (BOJ)' 카테고리의 다른 글
[백준/BOJ] 24266번 알고리즘 수업 - 알고리즘의 수행 시간 5 (Javascript / Node js) (0) | 2023.09.09 |
---|---|
[백준/BOJ] 14215번 세 막대 [Javascript / Node js] (2) | 2023.09.06 |
[백준/BOJ] 11653번 소인수분해 (Javascript / Node js) (0) | 2023.08.30 |
[백준/BOJ] 1978번 소수 찾기 (Javascript/Node js) (0) | 2023.08.29 |
[백준/BOJ] 9506번 약수들의 합 [javascript/Node js] (0) | 2023.08.28 |