프로그래머스 구명보트(java)
2023. 1. 19. 14:53ㆍ코딩테스트/프로그래머스
문제
https://school.programmers.co.kr/learn/courses/30/lessons/42885
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제조건
1. 보트는 작아 최대 2명 탑승가능
2. 보트를 최소한으로 사용해서 모든 사람이 탈출
보트를 최소한으로 사용하기 위해서는 최대한 2명이 탑승할 수 있도록 해줘야 한다.
최대값 + 최소값을 제한값과 비교하는 방식으로 문제를 풀면 되겠다.
나의 풀이
class Solution {
public int solution(int[] people, int limit) {
int answer = 0;
Arrays.sort(people);
int min = 0;
int max = people.length - 1;
for (int i = max; i >= min; i--) {
// 최대값 + 최소값이 limit에 비해 적거나 같으면 다음 최소값을 확인한다.
if (people[i] + people[min] <= limit) {
min++;
answer++;
}
else {
answer++;
}
}
return answer;
}
}'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 예상 대진표(java) (0) | 2023.01.26 |
|---|---|
| 프로그래머스 N개의 최소공배수(java) (0) | 2023.01.19 |
| 프로그래머스 영어 끝말잇기(java) (0) | 2023.01.19 |
| 프로그래머스 - 짝지어 제거하기(java) (2) | 2023.01.18 |
| 프로그래머스 다음 큰 숫자 java (0) | 2023.01.12 |