
😎풀이
- 모든 사람을 순회
1-1. 단, 마지막 사람 이후 첫 사람에게 돌아옴
- 캔디를 1개씩 증량하며 각 사람에게 부여
2-1. 단, 캔디가 부족하다면 남은 캔디 모두 부여
- 부여된 개개인의 사탕 총량 반환환
function distributeCandies(candies: number, num_people: number): number[] {
const result = Array.from({ length: num_people }, () => 0)
let remainCandies = candies
let curCandyOnTurn = 1
let curTurn = 0
while(remainCandies) {
curCandyOnTurn = Math.min(curCandyOnTurn, remainCandies)
result[curTurn] += curCandyOnTurn
remainCandies -= curCandyOnTurn
curCandyOnTurn++
curTurn = (curTurn + 1) % num_people
}
return result
};