공부/Python

[그리디] 침몰하는 타이타닉

순제로 2025. 3. 29. 17:10
728x90
반응형

입력

첫째 줄에 자연수 N(5<=N<=1000)과 M(70<=M<=250)이 주어집니다. 두 번째 줄에 N개로 구성된 몸무게 수열이 주어집니다. 몸무게는 50이상 150이하입니다. 각 승객의 몸무게는 M을 넘지는 않습니다. 즉 탈출을 못하는 경우는 없습니다.

 

출력

첫째 줄에 구명보트의 최소 개수를 출력합니다,

 

문제풀이

from collections import deque

n, m = map(int, input().split())
wei = list(map(int, input().split()))
wei.sort()
wei = deque(wei)
cnt = 0

while wei:
  if len(wei) == 1:
    cnt += 1
    break

  if wei[0] + wei[-1] <= m:
    wei.pop()
    wei.popleft()
    cnt += 1
  
  else:
    cnt += 1
    wei.pop()

print(cnt)
728x90
반응형

'공부 > Python' 카테고리의 다른 글

[그리디] 백준 11399번 ATM  (0) 2025.04.02
[그리디] 백준 11047번 동전 0  (0) 2025.03.30
[그리디] 증가수열 만들기  (0) 2025.03.29
[그리디] 역수열  (0) 2025.03.29
[그리디] 백준 2891번 카약과 강풍  (0) 2025.03.29