개발일지

프로그래머스 - 나머지 한 점 (JavaScript) 본문

개발일지/알고리즘

프로그래머스 - 나머지 한 점 (JavaScript)

Seobe95 2021. 7. 29. 15:54

function solution(v) {
    var answer = [];
    var x = [];
    var y = [];
    for(let i=0; i < v.length; i++){
        x.push(v[i][0])
        y.push(v[i][1])
    }
    
    let xList = x.sort((a,b) => a-b);
    let yList = y.sort((a,b) => a-b);
    
    xList[0] === xList[1] ? answer.unshift(xList[2]) : answer.unshift(xList[0]);
    yList[0] === yList[1] ? answer.push(yList[2]) : answer.push(yList[0]);

    return answer;
}

직사각형이 되기 위해서는 x축과 y축이 꼭 중복되어야 한다. 입출력 예에서 보면 v에서의 x축은 1이 중복이 되지 않았고, y축은 10이 중복이 되지 않았다. 이러한 규칙을 이용해서 x축과 y축의 배열을 만들어 각각 저장하였고, 이를 다시 정렬한 뒤 중복값을 찾는 조건문을 사용하고 x축에서는 unshift를, y축에서는 push를 이용하여 값의 순서를 맞추도록 했다.