문제
세 개의 좌표를 입력으로 받습니다. 각 좌표는 x와 y 좌표값으로 이루어진 숫자입니다. 이 함수는 주어진 세 개의 좌표 중 중복되지 않는 좌표를 찾아서 문자열 형태로 반환합니다. 중복되지 않는 좌표는 x 좌표와 y 좌표 모두에서 중복되지 않는 좌표를 의미합니다.
예를 들어,(30, 20), (10, 10), (10, 20) 세 개의 좌표 중에서 중복되지 않는 좌표는 (30, 10)입니다. 따라서 함수는 문자열 "30 10"를 반환해야 합니다.
입력
x좌표 중에서 항상 2개는 같은 x 좌표입니다.
y좌표 중에서 항상 2개는 같은 y 좌표입니다.
x와 y의 구분자는 띄어쓰기이고 좌표끼리의 구분자는 엔터입니다.
풀이
function findUniqueCoordinate(coordinates) {
const x = [];
const y = [];
coordinates
.split('\n')
.map((e) => e.split(' '))
.map((e) => {
const xIdx = x.indexOf(e[0]);
if (xIdx >= 0) x.splice(xIdx, 1);
else x.push(e[0]);
const yIdx = y.indexOf(e[1]);
if (yIdx >= 0) y.splice(yIdx, 1);
else y.push(e[1]);
});
return x[0] + ' ' + y[0];
}
x, y좌표 각각 담을 수 있는 변수를 준비하고 x,y좌표 값에 각각 수가 있으면 배열에서 빼내서 마지막에 남아 있는 숫자가 중복되지 않은 좌표입니다.
'코딩문제' 카테고리의 다른 글
삼각형의 종류 판별하기 (0) | 2024.04.09 |
---|---|
소인수분해 결과 출력하기 (0) | 2024.04.07 |
소수 개수 세기 (0) | 2024.04.07 |
K번째로 약수를 찾아라 (0) | 2024.04.07 |
사다리 오르내리기 (0) | 2024.04.03 |