728x90

deque 를 이용해서 풀었고, 2명씩 탄다는 조건을 놓쳐서 조금 헤맸다. 

from collections import deque
 
def solution(people, limit):
    answer = 0
 
    people = deque(sorted(people))
 
 
 
 
    stack = [ ]
    print(list(people))
    while True:
        if len(people)==0:
            break
 
        # 맨 뒤에랑 맨 앞이랑 합쳤는데 limit 넘으면 answer+=1, pop()
        a = people[-1]
        b = people[0]
 
        if a+b>limit:
            answer+=1
            people.pop()
 
 
 
        # 안넘으면 answer+=1, pop, popleft
        else:
            answer+=1
            people.pop()
            if len(people)==0:
                break
            people.popleft()
 
    return answer
728x90

+ Recent posts