정현수
현수 세상
정현수
전체 방문자
오늘
어제
반응형
  • 분류 전체보기 (267)
    • NEXTSTEP 자바스크립트 클린코드 2기 (1)
    • 우테코 4기 (6)
    • 회고록 (5)
    • 개발지식 (6)
    • React (3)
      • React Clone Coding (3)
    • React Native (2)
    • Kubernetes & Docker (36)
      • 궁금한 것 (13)
    • Flutter (2)
    • 알고리즘 (168)
      • 프로그래머스 1단계 (27)
      • 프로그래머스 2단계 (37)
      • 백준 (98)
      • 이론 (6)
    • 자료구조 (3)
    • 유튜브 (1)
    • 책 읽자 (1)
    • 취업준비 (1)
    • 대내 활동 (31)
      • 2022년 겨울방학 알고리즘 특강 (0)
      • 2020년 여름방학 모각코 (13)
      • 2020년 겨울방학 모각코 (13)
      • 웹프로그래밍 상상튜터링 (5)

인기 글

최근 글

공지사항

  • 블로그 이동

태그

  • flutter
  • 프로그래머스
  • 파이썬
  • 레플리카셋
  • Deployment
  • Kubernetes
  • 노드
  • javascript
  • image pull
  • image run
  • 디플로이먼트
  • 그리디
  • 자바스크립트
  • replicaset
  • 우테코
  • docker
  • 쿠버네티스
  • 모각코
  • 리액트
  • kubelet
  • 개발지식
  • Jenkins
  • React
  • NodePort
  • 공식문서
  • 백준
  • programmers
  • mysql
  • 알고리즘
  • 이코테

최근 댓글

블로그 메뉴

  • 홈

티스토리

hELLO · Designed By 정상우.
정현수

현수 세상

[프로그래머스 LV2] 구명보트 문제 풀이 (Javascript)
알고리즘/프로그래머스 2단계

[프로그래머스 LV2] 구명보트 문제 풀이 (Javascript)

2021. 7. 30. 00:05
반응형

문제 설명

무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.

예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다.

구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다.

사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요.

제한사항

  • 무인도에 갇힌 사람은 1명 이상 50,000명 이하입니다.
  • 각 사람의 몸무게는 40kg 이상 240kg 이하입니다.
  • 구명보트의 무게 제한은 40kg 이상 240kg 이하입니다.
  • 구명보트의 무게 제한은 항상 사람들의 몸무게 중 최댓값보다 크게 주어지므로 사람들을 구출할 수 없는 경우는 없습니다.

입출력 예

people limit return
[70, 50, 80, 50] 100 3
[70, 80, 50] 100 3

정답 풀이

function solution(people, limit) {
    let answer = 0;
    const sorted = people.sort((a, b) => b - a); // 자바스크립트 내림차순

    [100, 90, 80, 50, 3, 2, 1]
    
    for (let i = 0, j = people.length - 1; i <= j; i++) {
        if (sorted[i] + sorted[j] > limit) answer += 1;
        else {
            answer += 1;
            j -= 1;
        }
    }
    
    return answer;
}
반응형

'알고리즘 > 프로그래머스 2단계' 카테고리의 다른 글

[프로그래머스 LV2] 카펫 문제 풀이 (Javascript)  (0) 2021.07.30
[프로그래머스 LV2] 영어 끝말잇기 문제 풀이 (Javascript)  (0) 2021.07.30
[프로그래머스 LV2] 삼각 달팽이 문제 풀이 (Javascript)  (0) 2021.07.29
[프로그래머스 LV2] 2개 이하로 다른 비트 문제 풀이 (Javascript)  (0) 2021.07.29
[프로그래머스 LV2] [1차] 프렌즈4블록 문제 풀이 (Javascript)  (0) 2021.07.28
    정현수
    정현수
    깃허브 : https://github.com/junghyeonsu 개인 블로그 : https://junghyeonsu.com/ (양질의 글을 올리려고 항상 노력합니다.)

    티스토리툴바