호지

[프로그래머스] 요격 시스템 문제풀이 JS 본문

알고리즘/프로그래머스

[프로그래머스] 요격 시스템 문제풀이 JS

_hoji

그리디 알고리즘 문제이다

targets를 끝점을 기준으로 오름차순 정렬하면, 

순차적으로 탐색하면서 시작점이 이전 요격 위치 범위에 들지 않을때,

(prev > start라면 끝점을 기준으로 오름차순 정렬됬기 때문에, 이전 요격 위치 범위에 든다)

이전 요격 위치 범위를 현 target의 끝점으로 설정하고 요격개수를 증가한다 

function solution(targets) {
  let answer = 0,
    prev = -1;
  targets.sort((a, b) => a[1] - b[1]);
  for (let i = 0; i < targets.length; i++) {
    const [start, end] = targets[i];

    if (prev <= start) {
      prev = end;
      answer++;
    }
  }
  return answer;
}
Comments