본문 바로가기

Algorithm/Greedy

[Python] 프로그래머스: 단속카메라(Lv. 3)

#문제

programmers.co.kr/learn/courses/30/lessons/42884

 

코딩테스트 연습 - 단속카메라

[[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2

programmers.co.kr

#풀이 & 학습한 내용

끝나는 지점 순서로 오름차순 정렬을 한 후에, 앞부분부터 살펴보는 Greedy 문제입니다.

우선, 리스트를 sorted()와 lambda함수를 통해서 정렬해줬는데, 이 부분에서 다음 링크를 참고했습니다. velog.io/@aonee/Python-%EC%A0%95%EB%A0%AC-sort-sorted-reverse 이번 문제를 통해 sort와 sorted의 사용방법에 대해 자세히 학습할 수 있었습니다. 정렬 후에는 첫번째 구간의 종료지점을 min으로 설정한 후, 다음 구간의 시작지점이 이 min보다 크면 answer을 1증가시키고, min값을 갱신시켜주는 방법으로 코드를 구현했습니다.

 

#소스코드

1
2
3
4
5
6
7
8
9
10
11
12
def solution(routes):
    answer = 1
    
    #끝나는 지점 기준 오름차순 정렬
    new_list = sorted(routes, key = lambda x: x[1])
    
    min = new_list[0][1]
    for route in new_list:
        if route[0> min:
            answer+=1
            min = route[1]
    return answer
cs

 

github.com/HoYoungChun/Algorithm_PS/blob/master/Greedy/PRO_%EB%8B%A8%EC%86%8D%EC%B9%B4%EB%A9%94%EB%9D%BC.py

 

HoYoungChun/Algorithm_PS

Baekjoon Online Judge, Programmers problem solving by Python, C++ - HoYoungChun/Algorithm_PS

github.com