출처: https://www.acmicpc.net/problem/2839
🚩mine (wrong)
1. n을 5로 먼저 나눈 뒤, 나머지가 0 == 몫 출력 // 나머지 != 0: 3으로 나누어본다
-> ㄱ. 3으로 나눈 나머지값이 0일때, 그대로 5의 몫과 3일때의 몫 합해서 출력
-> ㄴ. 3으로 나눈 나머지값이 0이 아닌 다른 값일때,
------> a. n을 3으로 나눠보기. 나머지가 0이면, 몫 출력
------> b. n을 3으로 나눈 나머지가 0이 아니면, -1 출력🚩clone (success)
n이 0 이상인 조건 하에 while문
1. n이 5로 나누어 떨어진다면, 몫 출력 (best option)
2. 5로 나누어 떨어지지 않는다면, n -= 3 (3kg 봉지) 해서 봉지 수(p) += 1 반복
--> n -= 3 후, 변경된 n값이 5의 배수라면 5로 나눠서 p에 몫 + 해주기5kg(큰것)로 담는 것이 가장 best니까!
# mine (wrong) ---> n = 11 입력시, -1 나오는 오류 발생
n = int(input()) # 설탕 배달 양
r5 = n % 5 # 5로 나눈 나머지
if r5 == 0:
print(n // 5)
else:
r3 = r5 % 3
if r3 == 0:
print((n // 5) + (r5 // 3))
else:
if n % 3 == 0:
print(n // 3)
else:
print(-1)
-------------------------------------------------------------
# success
n = int(input()) # 설탕 배달 양
p = 0 # 봉지 수
while n >= 0:
if n % 5 == 0: # 5로 나누어 떨어질 때 , 3으로만 나누어져 n = 0일때도 이 if문은 참이 되어 p 출력 (0을 5로 나누어도 나머지는 0이니까)
p += n // 5
print(p)
break
n -= 3
p += 1
if n < 0:
print(-1)