본문 바로가기

코딩테스트

[프로그래머스(Programmers)/Level2](Python) 구명보트

<내 코드>

 

<풀이과정>

정렬을 한 뒤, 리스트의 맨 앞원소랑 맨 뒤의 원소를 더해준 값이 limit을 초과하면 뒤의 값만 빼주고 count증가,

초과하지 않으면 앞 뒷 값을 모드 빼주고 count증가를 시켜준다.(시간복잡도를 고려해서 deque를 사용)

len(q)가 1일땐, 예외적으로 빼주고 카운트를 증가시켜주고 종료한다.(보트의 limit은 사람몸무게 최대값 보단 크기 때문에

별다른 조건없이 풀린다.)

 

<느낀점>

비교적 쉬웠고, 이전 문제에서 다뤘던 deque를 복습할 수 있어서 좋았던 문제다.