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

image

  • 사용 언어 : javascript

  • 해결 날짜 : 2022-09-28

  • 해결 방법 :
    • s를 n으로 나눈 몫과 나머지 분리
    • 최고의 집합이 되기 위한 조건은 집합 속 숫자들이 몰려있어야 하므로
    • 몫으로 채운 answer 배열에 나머지의 갯수만큼 1씩 증가
  • 회고 :
    • x
  • 코드

    function solution(n, s) {
        if (n > s) return [-1];
        const quotient = parseInt(s / n);
        let remainder = s % n;
        const answer = Array.from({length: n}, () => quotient);
        for (let i = n - 1; i >= 0; i--) {
            if (remainder) {
                answer[i]++;
                remainder--;
                if (!remainder) break;
            }
        }
        return answer;
    }
    
  • 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges