알고리즘

프로그래머스 최고의 집합 (JAVA)

박카스마시며코딩 2022. 9. 10. 17:10

https://school.programmers.co.kr/learn/courses/30/lessons/12938

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

저는 구현을 통해 문제를 해결하였습니다.

저는 s가 n보다 작다면 못 찾는것으로 바로 리턴하였습니다.

s를 n으로 나눈 몫과 나머지를 구하고, answer를 몫으로 채우고 나머지의 개수 만큼 1씩 늘려주어 문제를 해결하였습니다.

 

import java.util.*;
class Solution {
    public int[] solution(int n, int s) {
        if(n > s){
            return new int[] {-1};
        }
        int[] answer = new int[n];
        int div = s / n;
        int revider = s % n;
        for(int i = 0 ; i < n ; i++){
            answer[i] = div;
            if(revider > 0){
                answer[i]++;
                revider--;
            }
        }
        Arrays.sort(answer);
        return answer;
    }
}