양의 정수 목록을 가져와 같은 위치에있는 해당 정수에 대한 총 백분율을 근사하는 정수 목록을 리턴하는 함수를 작성하십시오.
리턴 목록의 모든 정수는 정확히 100을 더해야합니다. 전달 된 정수의 합이 0보다 크다고 가정 할 수 있습니다. 소수를 반올림하거나 자르는 방법은 단일 결과 정수가 백분율로 리턴되는 한 사용자에게 달려 있습니다. 어느 방향으로도 1만큼만 꺼져 있습니다.
p([1,0,2]) -> [33,0,67] or [34,0,66]
p([1000,1000]) -> [50,50]
p([1,1,2,4]) -> [12,12,25,51] or [13,12,25,50] or [12,13,25,50] or [12,12,26,50]
p([0,0,0,5,0]) -> [0,0,0,100,0]
이것은 code-golf 이므로 바이트 단위의 가장 짧은 코드가 이깁니다!
p([2,2,2,2,2,3])
.. 많은 법적 답변이 있지만 모든 2
값을 동일한 값으로 매핑 할 수있는 것은 아닙니다 . 이것은 반올림이 나쁘지 않기 때문에 이전의 모든 테스트 사례에서 작동하는 지나치게 간단한 알고리즘을 제거합니다.
p([1000,1000]) -> [49,51]
?