honey_pot
[Python] 구명보트 본문
https://school.programmers.co.kr/learn/courses/30/lessons/42885
deque로 푸는 방법, 투포인터로 푸는 방법 두 가지로 제출해보고 stack으로도 풀어보는 중
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# 투포인터 풀이
def solution(people, limit):
answer = 0
people.sort(reverse=True)
l, r = 0, len(people) - 1
while l <= r:
if people[l] + people[r] <= limit:
l += 1
r -= 1
else:
l += 1
answer += 1
return answer
# deque 풀이
from collections import deque
def solution(people, limit):
answer = 0
deq = deque(sorted(people))
while deq:
if len(deq) == 1 :
answer += 1
break
if deq[0] + deq[-1] <= limit:
deq.pop()
deq.popleft()
else:
deq.pop()
answer += 1
return answer
|
cs |
'문제 풀이' 카테고리의 다른 글
[Python] 2 x n 타일링 (0) | 2022.07.12 |
---|---|
[Python] 3 x n 타일링 (0) | 2022.07.12 |
[Python] 행렬 테두리 회전하기 (0) | 2022.06.30 |
[Python] N개의 최소공배수 (0) | 2022.06.27 |
[Python] 배달 (0) | 2022.06.27 |
Comments