function solution 인자로 받은 number에 숫자를 input했을 때 3과 5로 나눈 최소의 개수를 ans에 return 한다. 최소의 개수를 return해야 하기에 5를 먼저 조건에 넣었고 그 나머지 3을 받았다.
집어넣은 number가 0보다 클 때까지 하기의 코드를 실행한다. number에 5를 나눈 나머지가 0이라면 number에 -5를 반복실행하고, 아니면 3을 마이너스 해준다. 그리고 그럴 때마다 ans에 1을 추가해준다.
예를 들면 100이라는 인자가 input 되었을 때 첫 번째 조건에 충족되기 때문에 while 문 조건에 만족할 때까지 -5를 반복실행하고, 실행할 때마다 ans에 +1를 해준다.
20번을 반복하여 number이 0으로 떨어졌을 때 while 문 조건이 끝나며 최종적으로 ans에 20이 찍힌다. 처음에 5로 안 떨어질 땐 else 구문으로 넘어가 3을 마이너스 해주고 다시 5로 나눠서 처음 과정을 반복한다. 그렇기에 while 구문이 필요했다.
마지막으로 return 구문엔 while 문이 끝났다는 가정 하에 처음 받은 인자가 0이 될 경우 반복적으로 찍혀 숫자를 더해간 ans의 값을 출력하고 아니면 -1을 표시해 정확히 나눠 떨어지지 않았음을 명시한다.