https://school.programmers.co.kr/learn/courses/30/lessons/181188
문제 설명
최소 미사일 발사 몇번을 통해서 방어할 수 있는가에 대한 문제였다.
풀이
이 문제의 경우 또 그래프인가? 탐색문젠가 브루트포스인가 병적으로 ㅎㅎ;; 생각하다가... 알고보니 정렬하면 쉽게 끝나는 문제였다. (s,e)범위라 할 때, e를 기준으로 정렬한 후에, 앞선 범위의 마지막 부분이 이번 부분의 앞부분보다 앞에 있을 경우 새로운 미사일이 필요함을 인지하면 된다.
최종코드
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
'Algorithm > 문제풀이' 카테고리의 다른 글
[백준] 6549번:히스토그램에서 가장 큰 직사각형 (2) | 2024.08.26 |
---|---|
[프로그래머스] Lv1. 가장 많이 받은 선물 (1) | 2024.07.26 |
[백준] 12851 숨바꼭질 2(C++) (0) | 2024.04.30 |
[1260번] DFS와 BFS (feat: 동적할당 오버헤드 및 고정크기배열) (0) | 2024.04.06 |
[백준] 11047번 동전0 (Python) (0) | 2022.09.09 |