티스토리 뷰
title: "구명보트"
category: 프로그래머스[Level-2]
tags: [C++, JavaScript, 프로그래머스]
date: "2021-01-28"
문제 링크
C++
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> people, int limit) {
int answer = 0;
stable_sort(people.begin(), people.end()); // 오름차순 정렬
int weight=0; // 현재 무게
int front=0;
int back=people.size()-1;
while(front<=back){
if(front<back) weight=people[front]+people[back];
else weight=people[front];
answer++; // 구명 보트 1개 추가
back--; // 뒤에 사람은 무조건 pop
if(front>back) break; // 모두 구조했을 경우
if(weight<=limit) front++; // 가능할 때 pop
weight=0;
}
return answer;
}
JavaScript
function solution(people, limit) {
var answer = 0;
people.sort((a, b) => a - b);
let front = 0;
let back = people.length - 1;
let weight = 0;
while (front <= back) {
if (front != back) weight = people[front] + people[back];
else weight = people[back];
answer++; // 구명보트 1개 추가
back--; // 뒷 사람은 무조건 pop
if (front > back) break;
if (weight <= limit) front++; // 앞 사람은 가능할 때만
weight = 0; // 무게 초기화
}
return answer;
}
728x90
반응형
'Programmers Solutions > Level-2' 카테고리의 다른 글
[프로그래머스] JadenCase 문자열 만들기 (0) | 2021.02.03 |
---|---|
[프로그래머스] 타겟 넘버 (0) | 2021.02.01 |
[프로그래머스] 위장 (0) | 2021.02.01 |
[프로그래머스] H-Index (0) | 2021.02.01 |
[프로그래머스] 소수 찾기 (0) | 2021.02.01 |
댓글