알고리즘/문제

[정렬] - Lv2_181188_요격시스템

Casteira 2023. 6. 13. 16:40

https://school.programmers.co.kr/learn/courses/30/lessons/181188

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

📌- 풀이

  1. 미사일의 좌표 중 y축에 해당하는 부분을 기준으로 정렬
  2. 뒷번호가 제일 작은 미사일을 기준으로 end값을 하나 만듦
  3. end값을 기준으로 다음 미사일의 x좌표가 end값과 같거나 크면 미사일의 y축 좌표를 다시 end로 설정하고 요격시스템의 카운트를 +1 추가

 

🔥 - Java 코드

 

import java.util.*;

class Solution {
    public int solution(int[][] targets) {
        int answer = 0;
        Arrays.sort(targets,(x,y)-> x[1]-y[1]);
        
        int end = targets[0][1];
        answer ++;
        for(int i =1 ;i<targets.length;i++){ 
            if(end<=targets[i][0]){
                answer++;
                end = targets[i][1];
            }
        }
        
        return answer;
    }
}