[백준] 설탕 배달_2810번

[백준] 설탕 배달


문제


링크 : BOJ





풀이

정해진 설탕 양에서 3kg과 5kg의 개수의 최소합을 구하는 문제이다.

  1. 3kg과 5kg의 배수를 총합까지 차례로 나열해서 리스트로 저장한다.
  2. 3kg의 가방이 가장 적을 때, 5kg의 가방이 많을 때 최소가 되도록
    이중 반복문을 만들어 준다.
  3. result>0이면 나오고 다 돌았는데도 없으면 result = -1
n = int(input())
bag3 = range(0,n+1,3)
bag5 = range(0,n+1,5)
result = -1
for x in bag3:
    for y in bag5:
        if x+y == n:
            result = x//3+ y//5
            break
        elif x+y < n:
            continue
        else:
            break
    if result>0:
        break

print(result)

실수했던 점

5의 나머지 1,2,3,4 에 대해 각각 구했는데 맞긴 맞는데, 나머지 값을 구할 때
3으로 나눠줘야했고, 무엇보다 수식이 많아 복잡했다. 규칙을 찾아서 해야하는 것 같다.


태그: ,

카테고리:

업데이트: