Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[Lv.2_Java] 구명보트 본문

알고리즘테스트/Programmers

[Lv.2_Java] 구명보트

코딩거인 2023. 5. 3. 19:35
728x90

import java.util.*;
class Solution {
    public int solution(int[] people, int limit) {
        int answer =0;
        Arrays.sort(people);
        int num = 0;
        for(int i = people.length-1 ; num <= i ; i--){
            if(people[i]+ people[num]<= limit){
                num++;
                answer++;
            }else{
                answer++;
            }
        }
        return answer;
    }
}

이 문제를 처음 보고 이중for문을 돌려야겠다라고 생각하고 코드를 작성했으나 중복되는것이 발생하여 자꾸 계산 실패라고 나타났다....

그래서 생각을 다르게 해서 아예 오름차순으로 배열을 정렬시킨뒤 맨 앞과 맨뒤부터 더해나가면서 해보기로 했다
num 이라는 변수는 0 이라고 첫 설정 하고 i는 배열의 크기보다 1 작은수를 배치시키고 for 문이 돌면서 i를 빼주고 조건에 맞는것이 발생한다면 하나하나 올라가서 계산할 수 있도록 설정해보았다!

결과는 클리어~!

728x90

'알고리즘테스트 > Programmers' 카테고리의 다른 글

[Lv.2_Java] 피보나치 수  (0) 2023.05.04
[Lv.1_Java] 행렬의 덧셈  (0) 2023.05.03
[Lv.2_Java] 숫자의 표현  (0) 2023.05.03
[Lv.0_Java] 치킨 쿠폰  (0) 2023.05.03
[Lv.0_Java] 카운트업!!  (0) 2023.05.01