풀이
/**
* 구명보트
* 탐욕법
* https://programmers.co.kr/learn/courses/30/lessons/42885?language=javascript
*/
function solution(people, limit) {
let answer = 0, idx1 = 0, idx2 = people.length - 1;
people.sort((a, b) => a - b);
while (idx1 <= idx2) {
if (idx1 !== idx2 && people[idx1] + people[idx2] > limit) {
answer++;
idx2--;
} else {
answer++;
idx1++;
idx2--;
}
}
return answer;
}
가장 가벼운 사람을 고정해놓고 가장 무거운 사람부터 내려오면서 가벼운 사람 + 무거운 사람 or 무거운 사람 only 로 나눠서 보트를 태우는 방식이다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][자바스크립트][Level1] 가운데 글자 가져오기 (0) | 2022.01.09 |
---|---|
[프로그래머스][자바스크립트][Level1] 서울에서 김서방 찾기 (0) | 2022.01.09 |
[프로그래머스][자바스크립트][Level2] 큰 수 만들기 (0) | 2022.01.08 |
[프로그래머스][자바스크립트][Level1] 문자열 내림차순으로 배치하기 (0) | 2022.01.06 |
[프로그래머스][자바스크립트][Level1] 2016년 (0) | 2022.01.06 |
댓글