카테고리 없음
백준 2839번 : 설탕배달 (Python,파이썬)
에르미타쥬
2018. 12. 9. 00:07
일단 설탕봉지의 갯수를 최소로 할 수 있는 방법은 가능한대로 5kg 봉지에 설탕을 담는 것이다.
설탕봉지의 갯수가 최대가 되는 상황은 3kg봉지로만 설탕을 담는 상황이다.
N킬로그램의 설탕을 5kg봉지에 가능한 담고나면 세 가지 상황이 생긴다.
1)설탕을 5kg에 남김없이 담았다. 이 경우 만들어진 5kg봉지 갯수 그대로를 출력하게 하면 된다.
2)설탕을 5kg에 가능한 담았으나, 5kg 봉지를 채우기 부족한 나머지 설탕들이 남았다. 이 경우 5kg 봉지의 설탕을 풀어 나머지 설탕에 더하고 그 설탕들을 3kg 봉지에 담는다. 설탕들이 3kg 봉지에 남김없이 들어갈 때 까지 5kg봉지를 푸는 것을 반복한다.
3)위의 시도로 불가능하면 -1을 리턴하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 | sweet = int(input()) five_bag = sweet//5 sweet%=5 three_bag=0 while five_bag >= 0: if sweet%3 ==0: three_bag = sweet//3 sweet = sweet%3 break five_bag-=1 sweet +=5 print((sweet==0) and (five_bag + three_bag) or -1) |