알고리즘 풀이/프로그래머스
프로그래머스 - 최고의 집합 (규칙찾기)
배게
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 |