프로그래머스 단속카메라 (그리디, 파이썬)

728x90
반응형

내림차순으로 정렬하고 가장 위치가 큰 애부터 passed배열에 넣고 단속카메라에 걸리는 애들을 모두 passed에 넣으며 

현재 존재하는 카메라를 만나지 못하는 애들의 진입점을 새로운 카메라 위치로 넣어준다 

포인트 : for ~ else 문법, set 문법 

def solution(routes):
    answer = 0
    routes=sorted(routes,reverse=True)
    print(routes)
    camera=[routes[0][0]]
    passed=[0]
    while len(passed)!=len(routes):
        for i,r in enumerate(routes):
            if i in passed: continue
            for c in camera:
                if r[0]<=c<=r[1]:
                    passed.append(i)
                    break
            else:
                camera.append(r[0])  
        passed=list(set(passed))
    return len(camera)
728x90
반응형
TAGS.

Comments