728x90
📚문제
📝풀이
# 2839번 설탕 배달(Silver IV)
n = int(input())
cnt = 0
while n >=0:
if n %5==0:
cnt += (n//5)
print(cnt)
break
else:
n -= 3
cnt += 1
else:
print(-1)
백준 질문 게시판에 있는 코드들은
직관적으로 알아보기 힘들어서
구글링 하다가 발견한 간단한 코드
우선 5로 나누어 떨어지지 않는 숫자라면
cnt(설탕 봉지 수) +=1과 함께 -3을 해준다
이렇게 3을 빼주다 보면 5로 나누어떨어지는 수가 될수도 있다
만약 n이 3의 배수라면 (ex 9)
3을 3번 빼주는 것(cnt=3)
과 3으로 3번 나눈 몫이 동일하기 때문에 정답이 된다
그리고 4나 7처럼
5의배수도 아니고 -3을 계속 해주어도 5의 배수가 나오지 않는 경우는 결국
n이 0보다 작아져서(음수)
while~else문 조건에 의해
print(-1)을 출력
이렇게 구글링하여 참고한 문제는
당장 이해는 되지만
또 풀려고 하면
까먹으니까
나중에 다시 풀어봐야겠다...🧐
728x90
'Python(알고리즘,문제풀이) > BOJ(Silver IV)' 카테고리의 다른 글
백준 / 9012번 / 괄호 / Python / deque (0) | 2023.12.20 |
---|---|
백준 / 10828 / 스택 / Stack (0) | 2023.12.18 |
백준 / 18110번 / solved.ac / Python / 수학,구현,정렬,deque (0) | 2023.12.14 |
백준 / 1920번 / 수찾기 (이진탐색) (1) | 2023.11.25 |