문제 풀이/99클럽
[99클럽] 16일차 TIL
동까의 코딩
2024. 6. 5. 21:54
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42885
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
그리디 문제를 오늘의 문제로 풀어보았습니다.
sorted를 reverse를 해줘서 최대값과 최솟값의 합이 limit를 넘지 않으면 빼주는 방식을 사용한다.
from collections import deque
def solution(people, limit):
answer = 0
queue = deque(sorted(people, reverse=True))
while len(queue) > 1:
if queue[0] + queue[-1] <= limit:
queue.pop()
queue.popleft()
answer += 1
else:
queue.popleft()
answer += 1
if len(queue) == 1:
answer += 1
return answer
처음엔 비슷한 방식을 사용하다가 구현력의 문제로.. 제대로 풀지 못했지만 해답을 참조해서 풀이를 작성하게 되었다.
반응형