코딩테스트 연습
프로그래머스 코딩테스트 연습 - 요격 시스템 JavaScript
citron031
2023. 5. 27. 23:25
사실 이번 문제는 문제를 푸는데 애를 많이 먹었고, 검색을 통해서 어떻게 문제에 접근해야할지 알아보았다.
스스로 해결한 문제가 아니어서 아쉽지만, 이런 문제에서 당황하지 않고 어떻게 접근하면 좋을지 생각할 수 있었던 것 같다.
function solution(targets) {
let answer = 0;
let prevRight = -1;
const sorted = targets.sort((a, b) => a[1] - b[1]);
for(let i = 0; i < sorted.length; i++) {
const [left, right] = sorted[i];
// 현재 커버할 수 있는 영역을 초과. 새로운 영역 지정.
if(left >= prevRight) {
prevRight = right;
answer++;
}
}
return answer;
}
내 생각에 이 문제의 가장 중요한 점은 어떻게 정렬하는지 인것 같다.
정렬을 한뒤에 차례로 접근하여 이전까지의 값과 비교하는 식으로 해결하였는데, 하나의 좌표에 데이터가 두 개가 있으므로 어떤 데이터로 정렬하고, 어떻게 값을 비교해 나가는지가 관점이었다.