백준 2839번
최종 제출 코드
number = int(input())
THREE = 0
FIVE = 0
while(number >= 3):
if (number % 5 == 0):
FIVE = int(number/5)
number = 0
break
number = number - 3
THREE += 1
if number != 0:
print(-1)
else:
print(THREE+FIVE)
- 최소 개수를 구해야하기 때문에 먼저
number를 5로 나누어 본다.
ex) 15의 경우 3와 5의 공배수이기 때문에 3으로 먼저 나눠볼 경우, 출력값이 5가 된다. 하지만 문제에서는 최소 개수를 구하라고 했으므로 3이 출력되어야 한다.
- 값이 5로 나누어 떨어지지 않는 경우,
number에서 3을 빼준다.
- 위의 과정을
number가 3보다 작아질때까지 반복한다.
수정한 코드
number = int(input())
result = 0
while(number >= 3):
if (number % 5 == 0):
result += int(number/5)
number = 0
break
number = number - 3
result += 1
if number != 0:
print(-1)
else:
print(result)
- 결과값 도출을 좀 더 직관적이게 알아볼 수 있도록
FIVE변수와 THREE변수를 따로 선언하지 않고 result변수로 선언하며 개수를 계속 더해주었다.