세용용용용 2024. 7. 16. 10:34

 

코딩테스트 연습 - 요격 시스템 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

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

programmers.co.kr

 

나의 풀이

# 2024-07-18
def solution(targets):
    answer = 0
    targets = sorted(targets, key=lambda x:(x[1],x[0]))
    
    bomb_point = 0
    for start,end in targets:
        if bomb_point<=start:
            answer+=1
            bomb_point=end
    
    return answer

 

시간복잡도

sorted정렬 : 선형로그 시간 복잡도
for start, end in targets : 선형 시간 복잡도

즉, 해당 알고리즘의 시간복잡도는 선형로그 시간 복잡도 ( O(nlogn) )