inblog logo
|
LHS's Study Space
    알고리즘문제풀기프로그래머스

    [프로그래머스] 최고의 집합(12938)

    lhs's avatar
    lhs
    Dec 06, 2024
    [프로그래머스] 최고의 집합(12938)
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/12938
     

    1. 문제 풀이 아이디어

    • 수학적인 계산을 통해 문제를 해결할 수 있다.

    2. 나의 정답 코드

    class Solution { public int[] solution(int n, int s) { if (n > s) return new int[]{-1}; int[] answer = new int[n]; int rem = s % n; int div = s / n; for (int i = n - 1; i >= 0; i--) { answer[i] = div + (rem-- > 0 ? 1 : 0); } return answer; } }

    3. 정리

    • n이 s보다 클 경우, 최고의 집합을 만들 수 없으므로 1을 반환한다.
    • 크기 n인 answer 배열을 정의한 뒤, 마지막 인덱스부터 첫 번째 인덱스까지 순회하며 s / n 값을 채우고, 나머지(s % n)만큼 1씩 더해 배열에 저장하여 문제를 해결한다.
    Share article
    Contents
    1. 문제 풀이 아이디어2. 나의 정답 코드3. 정리

    LHS's Study Space

    RSS·Powered by Inblog