문제설명
- 구명보트에 최대 2명만 탈 수 있고 무게 제한을 초과해서 탈 수 없다.
- 사람들의 몸무게를 담은 배열
people
, 무게 제한 limit
가 매개변수로 주어진다.
제한사항
people
배열의 길이는 1이상 50,000 이하
- 몸무게는 최소 40kg, 최대 240kg
- 무게 제한은 최소 40kg, 최대 240Kg
- 항상 무게 제한은 몸무게 최대값보다 크게 주어진다.
문제풀이
⛔️ 1차 풀이

✅ 2차 풀이

체크 포인트
- 두 코드 모두 배열의 양쪽에서 시작해서
count
값을 증가시킨다.
- 하지만 1차는 시간 초과, 2차는 통과가 됐다.
- 차이점은 시간복잡도에 있었다.
- 메소드를 사용할 경우 어떤 메소드를 사용하냐에 따라 시간복잡도가 다르게 적용된다.
pop 메소드
는 배열을 순회 없이 마지막 요소만 제거하면 되기 때문에 시간 복잡도가 O(1)
이다.
unshift 메소드
는 요소가 추가되면서 새로운 인덱스를 부여하기 때문에 시간 복잡도가 O(n)
이다.
O(1)
경우 데이터 양에 상관 없이 한 번만 작업이 이뤄지지만 O(n)
겨우 데이터 양에 정비례한다.