이전에 풀었던 문제지만 다시 푸니 못풀었던 문제였습니다.
중요한 키 포인트는 정렬을 다음과 같이 만들어 내는것입니다.
같은 앞자리 수인경우 뒷자리 수는 오름차순으로 정렬하는 것이 포인트 이며,
같은 점수에서는 뒷자리 수를 초기화 하더라도 사라지지 않지만,
그 다음 앞자리가 바뀌게 되면 당연히 그 전 가장 높은 값보다 낮아지기 때문에, 이때는 제거해주어야 하는 점을 고려합니다.
사용한 테스트 케이스는 다음과 같습니다
function solution(scores) {
let answer = 1;
const target = scores[0];
scores.sort((a, b) => {
if (a[0] !== b[0]) return b[0] - a[0];
return a[1] - b[1]; // 여기가 키포인트다.
});
let yMax = 0;
for (let i=0; i< scores.length; i++) {
const [curX , curY] = scores[i]
if (target[0] < curX && target[1] < curY) return -1;
if (yMax <= curY) {
if (target[0] + target[1] < curX + curY){
answer++;
}
yMax = curY;
}
}
return answer;
}