[프로그래머스] 구명보트 (JS)

hhkim·2023년 8월 4일
0

Algorithm - JavaScript

목록 보기
89/188
post-thumbnail

풀이 과정

  1. 오름차순 정렬
  2. 배열 각 요소에 대해 반복하면서 맨 앞, 맨 뒤의 인덱스 조작
  3. 맨 앞과 맨 뒤(가장 가벼운, 무거운) 사람의 합이 limit을 넘으면 무거운 사람만 태우고 결과 +1
  4. 두 사람의 합이 limit보다 같거나 작으면 둘다 태우고 결과 +1

코드

function solution(people, limit) {
  people.sort((a, b) => a - b);
  let i = 0;
  let j = people.length - 1;
  let result = 0;
  while (i <= j) {
    if (people[i] + people[j] > limit) {
      --j;
    } else {
      ++i;
      --j;
    }
    ++result;
  }
  return result;
}

🤔

무인도에 5만명이 있으면 그냥 소도시 수준인데 무인도 맞나
무튼 구명보트에 최대 2인만 탈 수 있다는 걸 못봐서 어렵게 생각하다가 시간을 보냈다..

0개의 댓글