[백준 알고리즘] 2839번 : 설탕 배달 (파이썬 / Python)

2022. 8. 1. 19:55·알고리즘/백준


접근 방법

상근이는 최대한 적은 봉지를 들고 가려고 한다. 

가장 적은 수의 봉지를 들고 가려면, 가능한 한 5kg의 봉지를 많이, 3kg의 봉지를 적게 구성해야 한다.

 

정답 코드
import sys

n = int(sys.stdin.readline())
flag = 0
for i in range((n // 3) + 1):
    three = 3 * i
    five = (n - three) / 5
    if five == int(five):
        print(int(i + five))
        flag = 1
        break
if flag == 0:
    print(-1)

 

코드 설명
  1. 3kg 봉지의 수가 0개인 경우 -> 1개인 경우 -> .... -> n//3개인 경우 까지 for문을 반복한다.
  2. 각 경우에 five 변수는 n에서 three를 뺀 것을 5로 나눈 것으로, 5kg 봉지의 개수를 의미한다.
  3. 이때 five == int(five)라면 정확히 나누어떨어졌다는 의미이므로 개수를 출력하고 빠져나온다. (flag = 1)
  4. flag = 1이 아닌 경우 -1을 출력한다. 

 


 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

저작자표시 (새창열림)

'알고리즘 > 백준' 카테고리의 다른 글

[백준 알고리즘] 2231번: 분해합 (파이썬 / Python)  (1) 2022.08.03
[백준 알고리즘] 10814번: 나이순 정렬 (파이썬 / Python)  (0) 2022.08.02
[백준 알고리즘] 17478번: 재귀함수가 뭔가요? (파이썬 / Python)  (0) 2022.08.02
[백준 알고리즘] 10870번: 피보나치 수 5 (파이썬 / Python)  (0) 2022.08.02
[백준 알고리즘] 2805번: 나무 자르기 (파이썬 / Python)  (0) 2022.08.02
'알고리즘/백준' 카테고리의 다른 글
  • [백준 알고리즘] 10814번: 나이순 정렬 (파이썬 / Python)
  • [백준 알고리즘] 17478번: 재귀함수가 뭔가요? (파이썬 / Python)
  • [백준 알고리즘] 10870번: 피보나치 수 5 (파이썬 / Python)
  • [백준 알고리즘] 2805번: 나무 자르기 (파이썬 / Python)
gyujh
gyujh
개발 공부 블로그
  • gyujh
    규
    gyujh
  • 전체
    오늘
    어제
    • 분류 전체보기 (86)
      • Backend&DB (3)
      • CS (5)
        • 컴퓨터구조 (1)
        • 소프트웨어공학 (4)
      • JavaScript (2)
      • Git (2)
      • 알고리즘 (73)
        • 개념 (3)
        • 백준 (70)
      • Projects (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    에러
    숏코딩
    너비우선탐색
    문자열
    구현
    스택
    딕셔너리
    백준
    답안
    알고리즘
    정렬
    런타임
    재귀
    프로그래머스
    정답
    풀이
    algorithm
    BOJ
    답
    시간초과
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
gyujh
[백준 알고리즘] 2839번 : 설탕 배달 (파이썬 / Python)
상단으로

티스토리툴바