leetcode

452. Minimum Number of Arrows to Burst Balloons Javascript

냠냠맨 2023. 1. 16. 09:02

⚡문제정보

그림이 있었으면 아주 쉽게 이해가 될텐데 x축 y축 소리 때문에 오히려 한번에 이해가 안되었던 문제

그러니까 저 배열안에 담긴 두 숫자는 x 축의 선분이라고 생각하면 되고

화살을 이런식으로 쏠 수 있는데

최소한으로 화살을 쏴서 모든 풍선을 터치고 싶다.라는 내용입니다.


🔍접근방법

끝 선분을 기준으로 오름차순 정렬해준 다음 비교해주면 끝


🔍나의 풀이

var findMinArrowShots = function(points) {
    let answer =  1
    points.sort((a,b) => {
        return a[1] - b[1]
    })
    let pointer = points[0][1]
    
    for(i=1 ; i<points.length; i++) {
        if(pointer >= points[i][0]) continue
        else {
            pointer = points[i][1]
            answer++
        }
    }
    return answer
};

 

points[i]의 시작지점이 pointer와 값이 같거나 작은 경우엔 화살 한발로 처리할 수 있는 케이스니까

continue

그렇지 않은 경우엔 한발로 처리할 수 없으니 answer를 올려주고

pointer값을 갱신해줍니다.

그런 다음 answer값을 반환하면 끝

반응형