Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[프로그래머스] Lv.2 구명보트 [Python, 파이썬] 본문
- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42885
- 그리디 문제
- 🔑 투포인터 사용
def solution(people, limit):
answer = 0
people.sort()
l, r = 0, len(people) - 1 # 가장 가벼운 사람과, 가장 무거운 사람에 포인터를 둔다.
while l <= r: # 두 개의 포인터가 교차되면 멈춤
if people[l] + people[r] <= limit: # 포인터의 합이 limit보다 작거나 같으면 양쪽 포인터 이동
l += 1 # -> 방향으로 이동
r -= 1 # <- 방향으로 이동
else: # 두 사람 무게의 합이 limit 보다 크면
r -= 1 # 무거운쪽만 <- 방향으로 이동
answer += 1 # 배 갯수 증가
return answer
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 [1차] 캐시 [Python, 파이썬] (0) | 2023.05.30 |
---|---|
[프로그래머스] Lv.2 괄호 회전하기 [Python, 파이썬] (0) | 2023.05.17 |
[프로그래머스] [KAKAO] Lv.2 주차 요금 계산 [Python, 파이썬] (0) | 2023.04.13 |
[프로그래머스] [KAKAO] Lv.1 신고 결과 받기 [Python, 파이썬] (0) | 2023.04.10 |
[프로그래머스] Lv.2 카펫 [Python, 파이썬] (0) | 2023.04.08 |
Comments