반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제
한 구명보트에 최대 두명만 탈 수 있을 때 구명보트를 최소한으로 사용해서 모두 탈출할 수 있는 경우를 구하는 문제다.
- 풀이
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> people, int limit) {
int answer = 0, current = 0, idxF = 0, idxB = people.size() - 1;
sort(people.begin(),people.end());
while(idxF <= idxB){
if(people[idxF] + people[idxB] <= limit){
idxF++;
idxB--;
}
else{
idxB--;
}
answer++;
}
return answer;
}
구명보트에 최대 두명이 탈 수 있다는 걸 생각하면 된다.
음..... 무조건 가장 큰 수랑 가장 작은수 합치는 게 맞을까? 생각을 더 해봐야할 것 같다.
당연히 테스트 케이스 열몇개 중에서 한 개는 틀렸다고 나올 줄 알았는데 다 맞았다고 나오네...
- 기억할 것!
X
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 베스트앨범 C++ (0) | 2022.10.14 |
---|---|
프로그래머스 N개의 최소공배수 (0) | 2022.10.14 |
프로그래머스 짝지어 제거하기 C++ (0) | 2022.10.13 |
프로그래머스 영어 끝말잇기 C++ (0) | 2022.10.13 |
프로그래머스 전화번호 목록 C++ (0) | 2022.10.11 |