[프로그래머스] 구명보트

yewon Lee·2023년 9월 12일
0


😎코딩테스트 연습>탐욕법(Greedy)>구명보트


📘 문제풀이

def solution(people, limit):
    people = sorted(people)    
    cnt = 0
    front = 0
    while front < len(people):        
        if people[-1] + people[front] <= limit:
            front += 1
        people.pop()
        cnt += 1
        
    return cnt
문제 제대로 안읽고 최대 2명을 놓쳐서 시간을 허비했음(잘 좀 읽어!!)

front 변수를 인덱스로 사용해서 제일 작은 수를 찾아줌
fornt가 people보다 커지면 종료


stack.pop(0)는 시간복잡도가 O(n)이라 효율성에서 실패
	-> deque.popleft()를 사용하는 것이 더 좋음
profile
시작

0개의 댓글