반응형
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/181188?language=python3 

 

프로그래머스

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

programmers.co.kr

 

 

문제

폭격 미상일을 요격할 때, 최소한으로 요격 미사일 수를 구해서 return 합니다.

(자세한 내용은 상단 프로그래머스 사이트에서 확인!)

 

주의사항

1. 단, 개구간로 표현되는 폭격 미사일은 s와 e에서 발사하는 요격 미사일로는 요격할 수 없습니다.

 

시도

1. defense 값 설정합니다.

2. sort()를 사용합니다.

* sort() 함수에서 reverse=True로 설정해도 시간이 느려지지 않습니다.

3. 배열의 [1] 값과 defense 값을 비교한 후 만약 defense 값이 크면 defense 값을 배열[0]의 값과 0.5를 더해 defense 값을 수정해줍니다.

* 0.5를 더한 이유는 s, e 구간에서는 요격할 수 없기 때문입니다.

 

알아야할 것

- sort(): 파이썬 정렬 함수입니다

 

정답

def solution(targets):
    answer, defense = 0, 100000001
    
    for s, e in sorted(targets, reverse=True):
        if e <= defense:
            defense = s + .5
            answer += 1

    return answer

걸린 시간: 4.291534423828125e-06

반응형

+ Recent posts