프로그래머스_구명보트_python
2021. 8. 23. 21:19ㆍ코딩테스트
반응형
https://programmers.co.kr/learn/courses/30/lessons/42885
from collections import deque
def solution(people, limit):
answer = 0
people = deque(sorted(people))
while people:
m = people.pop()
answer += 1
if people and people[0]<= limit-m:
people.popleft()
return answer
[내코드]
그냥 list사용하면 시간초과로 실패함.. deque사용.
people sorting하고 최대값과 최소값을 더한 값이 limit 이하면 최소값 빼냄.
def solution(people, limit) :
answer = 0
people.sort()
a = 0
b = len(people) - 1
while a < b :
if people[b] + people[a] <= limit :
a += 1
answer += 1
b -= 1
return len(people) - answer
[다른사람코드]
people sorting하고 양쪽 인덱스를 변수에 저장
양쪽 값을 더하고 limit이하면 시작인덱스+1, answer(같이태움)+1
끝인덱스는 매번 -1씩
끝인덱스와 시작인덱스가 같아지면 종료.
사람수-answer 리턴.
반응형
'코딩테스트' 카테고리의 다른 글
프로그래머스_오픈채팅방_python (0) | 2021.09.05 |
---|---|
프로그래머스_정수 삼각형_python (0) | 2021.08.29 |
프로그래머스_조이스틱_python (0) | 2021.08.22 |
프로그래머스_타겟 넘버_python (0) | 2021.08.13 |
프로그래머스_체육복_python (0) | 2021.08.11 |