알고리즘 풀이/프로그래머스

프로그래머스 - 최고의 집합 (규칙찾기)

배게 2019. 11. 28. 08:37
728x90

s를 n으로 나눈 몫의 값이 result 성분들의 최소값이고 


나머지는 최소값보다 1큰 성분들의 개수이다. 


대충 아무거나 경우의 수를 만들어서 


이 명제가 맞다고 가정하고 풀엇고 정답이었다. 


이런 규칙찾는 문제는 100%확신을 가지고 풀 수는 없는 것 같다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    public int[] solution(int n, int s) {
        int[] answer = new int[n];
 
        int min = s / n;
        if (min < 1)
            return new int[] { -1 };
 
        int rest = s % n; // min+1개수
        int input = 0;
 
        for (int i = n - 1; i >= 0; i--) {
            input = min;
            if (rest-- > 0)
                input++;
 
            answer[i] = input;
        }
 
        return answer;
    }
cs


댓글수0