-
[Python] 백준 2839 설탕 배달Python_알고리즘 2021. 7. 4. 00:18
문제 바로가기
문제분석
# 봉지를 가작 적게 가져가야 하므로 5킬로그램으로 먼저 나누고 나머지가 있다면 3킬로그램으로 빼면서 계산하는게 핵심이다.
# 무한루프를 돌리고 그 안에서 if문으로 조건을 걸어 break해주는데, break의 조건은 2개가 생긴다.
# 하나는 모두 계산이 되어서 출력이 되었을 때, 다른 하나는 정확하게 N킬로 그램을 만들 수 없을때 이다.
문제풀이
N = int(input()) bag = 0 while True: if N % 5 == 0: bag += (N // 5) print(bag) break N -= 3 bag += 1 if N < 0: print(-1) break
# 설탕 무게(N)를 입력값으로, 받고 설탕 봉지를 셀 변수를 초기화한다.
# 무한루프를 만들고, 조건문으로 break를 거는데
- 최소한의 봉지를 가져가야 하므로 일단 입력받은 설탕 무게를 5로 나눠본다.
- 나머지가 없다면, 최소한으로 가져가는 경우이므로 bag에 나눈 몫을 더하고 출력한다.
- 나머지가 있다면, 입력받은 설탕 무게에서 -3을 해주고 3키로 봉지가 하나 생겼으므로 bag에 1을 더한다.
- 그리고 나서 남은 설탕이 마이너스라면 정확하게 N킬로그램을 만들 수 없다는 것이므로 -1을 출력한다.
- 남은 설탕이 마이너스가 아니라면 다시 처음으로 돌아가 무한루프를 돌린다.
'Python_알고리즘' 카테고리의 다른 글
[Python] 백준 4948 베르트랑 공준 (0) 2021.07.07 [Python] 백준 1011 Fly me to the Alpha Centauri (0) 2021.07.06 [Python] 백준 1316 그룹 단어 체커 (0) 2021.07.03 [Python] 백준 2941 크로아티아 알파벳 (0) 2021.07.02 [Python] 백준 1157 단어 공부 (0) 2021.07.01