상세 컨텐츠

본문 제목

요격 시스템 (연습문제)

프로그래머스 코딩테스트 풀이

by 발발개발 2023. 5. 8. 10:54

본문

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

 

프로그래머스

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

programmers.co.kr

 

풀이

import java.util.Arrays;

class Solution {
    public int solution(int[][] targets) {
        Arrays.sort(targets, (o1, o2) -> {
            if (o1[0] != o2[0]) {
                return Integer.compare(o1[0], o2[0]);
            } else {
                return Integer.compare(o2[1], o1[1]);
            }
        });

        int cnt = 1;
        int start = targets[0][0];
        int end = targets[0][1];

        for (int[] target : targets) {
            if (target[1] > start && target[0] < end) {
                start = Math.max(start, target[0]);
                end = Math.min(end, target[1]);
            } else {
                start = target[0];
                end = target[1];
                cnt++;
            }
        }

        return cnt;
    }
}

관련글 더보기

댓글 영역