학습
시험

초콜릿 바 분배

난이도
BEGINNER

문제 설명

서로 길이가 다른 여러 개의 초콜릿 바가 있습니다. 이 초콜릿 바를 n명의 친구들에게 공평하게 나누어 주고자 합니다.
각 초콜릿 바는 1cm 단위로 자를 수 있습니다. 하지만 초콜릿을 이어 붙여서 사용할 수는 없습니다.
이 초콜릿 바들을 길이가 모두 같은 n개 이상의 조각으로 잘라 친구들에게 나눠주고 남은 초콜릿은 버립니다.

친구의 수 n과 초콜릿 바 길이(cm)를 담은 배열 choco가 주어졌을 때, n명의 친구들에게 공평하게 나눠줄 수 있는 초콜릿 바 조각의 최대 길이를 반환하는 solution 함수를 작성하시오. 단, 나눠주는 조각의 길이는 최소 1cm 이상이어야 하며, 어떤 길이로도 동일한 길이의 조각을 n개 이상 만들 수 없다면 0을 반환합니다.

예를 들어, choco가 [802, 743, 457, 539]이고, n이 11로 주어진다고 가정합니다.
4개의 초콜릿 바를 길이 250cm의 초콜릿 조각으로 나눈다면, 총 [802250]+[743250]+[457250]+[539250]=3+2+1+2=8\left[\frac{802}{250}\right] + \left[\frac{743}{250}\right] + \left[\frac{457}{250}\right] + \left[\frac{539}{250}\right] = 3+2+1+2 = 8 개의 초콜릿 조각만 만들 수 있으므로 11명의 친구들에게 나눠줄 수 없습니다.

반면, 길이 150cm의 초콜릿 조각으로 나눈다면, 총 [802150]+[743150]+[457150]+[539150]=5+4+3+3=15\left[\frac{802}{150}\right] + \left[\frac{743}{150}\right] + \left[\frac{457}{150}\right] + \left[\frac{539}{150}\right] = 5+4+3+3 = 15 개의 초콜릿 조각을 만들 수 있어 11명의 친구들에게 나눠줄 수 있습니다.

하지만, 길이 200cm의 초콜릿 조각으로 나눈다면, 총 [802200]+[743200]+[457200]+[539200]=4+3+2+2=11\left[\frac{802}{200}\right] + \left[\frac{743}{200}\right] + \left[\frac{457}{200}\right] + \left[\frac{539}{200}\right] = 4+3+2+2 = 11 개의 초콜릿 조각을 만들 수 있어 더 긴 길이로 11명의 친구들에게 나눠줄 수 있습니다. 이때 해당 길이가 최대 길이가 되며, 더 긴 길이로 잘라 나눠줄 수 없습니다.

따라서 최종적으로 200을 반환합니다.


제한 사항

  • n은 1 이상 1,000,000 이하의 자연수입니다.
  • choco의 길이는 1 이상 1,000,000 이하입니다.
  • choco의 각 원소는 1 이상 1,000,000,000 이하의 자연수입니다.

예시 테스트케이스 설명

테스트케이스 번호 n choco return
1 11 [802,743,457,539] 200
2 11 [2,3,4] 0
3 1 [10,100,1000] 1000

1번 테스트케이스 설명

  • 각 초콜릿 바에서 200cm 씩 자르면 802cm → 4개, 743cm → 3개, 457cm → 2개, 539cm → 2개 = 총 11개를 만들 수 있습니다. 이보다 긴 길이로 자르면 불가능하므로, 200을 반환합니다.

2번 테스트케이스 설명

  • 각 초콜릿 바를 1cm 씩 잘라도 총 9개밖에 만들 수 없으므로 0을 반환합니다.

3번 테스트케이스 설명

  • 한 명에게 길이가 1000cm인 초콜릿 바를 그대로 줄 수 있으므로 1000을 반환합니다.