프로그래머스 : 구명보트
2021. 10. 29. 16:44ㆍ문제풀기/프로그래머스
https://programmers.co.kr/learn/courses/30/lessons/42885
투 포인터로 풀었다. (이게 투 포인터 맞나...?)
어차피 최대 2명씩 밖에 탈 수 없기 때문에, people을 sorting 한 후, 가장 왼쪽, 가장 오른쪽부터 하나씩 오면서 더해준다.
이 때, people[left] + people[right] 가 limit을 넘으면 right만 이동하고 answer에 1을 더해준다.
넘지 않으면 두 명 다 동시에 탈 수 있기 때문에, left,right 둘 다 이동하고 answer에 1을 더해준다.
def solution(people, limit):
answer = 0
people.sort()
left = 0
right = len(people)-1
while left<=right:
if people[left] + people[right]>limit:
answer += 1
right -= 1
else:
answer += 1
left +=1
right -= 1
return answer
'문제풀기 > 프로그래머스' 카테고리의 다른 글
프로그래머스 : 전력망을 둘로 나누기 (0) | 2021.11.03 |
---|---|
프로그래머스 : 올바른 괄호 (0) | 2021.10.30 |
프로그래머스 : 2018 KAKAO BLIND RECRUITMENT [1차] 프렌즈4블록 (0) | 2021.10.29 |
프로그래머스 : 여행 경로 (0) | 2021.10.29 |
프로그래머스 : 등굣길 (0) | 2021.10.28 |