문제
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
답
시행착오
처음에 그리디로 풀었다.
(5로 최대한 나누고, 나머지를 3으로 나누기)
그러나 그리디로 풀면 안풀리고, 브루트 포스로 풀면 풀리는 케이스가 존재한다.
e.g.) 11
그리디 ㅡ> 5*2 +1
브루트 포스 ㅡ> 5*1 + 3*2
답
N = int(input())
bag = 0
a = 0 # 나누어 떨어지면 a=1로 바꾼다
for i in range(N//5, -1, -1):
bag = i
M = N - 5*i # M : 남은 무게
bag += M//3
if M%3 == 0:
print(bag)
a = 1
break
if a==0:
print(-1)
개선된 답
N = int(input())
bag = -1
for i in range(N//5, -1, -1):
M = N - 5*i # M : 남은 무게
if M%3 == 0:
bag = i + M//3
print(bag)
break
if bag == -1:
print(-1)
'백준' 카테고리의 다른 글
[백준 25305번] 커트라인 (파이썬) (3) | 2024.03.05 |
---|---|
[백준 2587번] 대표값2 (파이썬) (1) | 2024.03.04 |
[백준 2750번] 수 정렬하기 (파이썬) (0) | 2024.03.04 |
[백준 1436번] 영화감독 숌 (0) | 2024.02.25 |
[백준 1018번] 체스판 다시 칠하기 (0) | 2024.02.22 |