프로그래머스 / 요격 시스템 / python

맹민재·2023년 4월 14일
1

알고리즘

목록 보기
72/134
def solution(targets):
    answer = 0
    targets.sort(key = lambda x: [x[1], x[0]])
    
    s = e = 0
    for target in targets:
        if target[0] >= e:
            answer += 1
            e = target[1]

    return answer 

입출력 예 설명에서 힌트를 얻을 수 있다.

좌표 e를 기준으로 정렬한다.

s, e가 겹치는 경우는 다른 범위 이기 때문에 for문을 돌면서 정렬된 미사일 좌표 s가 이전 미사일 e와 같거나 큰 경우는 같이 요격할 수 없으므로 정답을 +1 해주고 e 좌표를 업데이트 해준다.

profile
ㄱH ㅂrㄹ ㅈr

0개의 댓글