알고리즘

프로그래머스 단속카메라 (JAVA)

박카스마시며코딩 2023. 8. 17. 16:23

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

 

프로그래머스

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

programmers.co.kr

 

저는 그리디 방법을 통해 문제를 해결하였습니다.

저는 routes를 진출 지점을 내림차순으로 정렬하였고, 순차적으로 돌면서 현재 route를 벗어나면 진출지점으로 position (카메라 위치)를 변경하고 결과값을 올려 문제를 해결하였습니다.

 

import java.util.*;

class Solution {
    public int solution(int[][] routes) {
        int answer = 0;
        Arrays.sort(routes,(v1,v2)->{
            return v1[1] - v2[1];
        });
        System.out.println(Arrays.deepToString(routes));
        int position = -40_000;
        for(int[] route : routes){
            if(route[0] > position || route[1] < position){
                answer++;
                position = route[1];
            }
        }
        return answer;
    }
}