[백준 2839 파이썬] - 설탕 배달

zsunny·2022년 6월 30일
0

📌 문제

💯 정답

n = int(input())
cnt = 0

while n >= 0:
    if n % 5 == 0:          # 5로 나누어 떨어지면
        cnt += n // 5       # 몫을 더함
        print(cnt)
        break
    n -= 3                  # 5로 나누어 떨어지지 않으면 3을 빼고
    cnt += 1                # + 1
else:                       # while의 조건에 맞지 않으면
    print(-1)               # (5로도 3으로도 안나눠 떨어지면) -1

📝 설명

• n이 0이상인동안 계산을 반복한다.
• 우선순위가 5 이므로 우선 5로 나누어 떨어지는 조건을 먼저 만든다.
• 5로 나누어 떨어지면 cnt에 몫을 더하고 바로 출력한다.
• 5로 나누어 떨어지지않고 나머지가 있으면 우선 3을 빼고 +1을 카운트한다.
• 이를 반복하다 5로 나누어 떨어지는 순간 몫을 더하고 출력을 한다.
• 만약 조건 수행중 n >= 0 조건을 만족하지 않게 되면 print(-1)을 한다.

⭐️ 알고가기 _ while ~ else

  • 조건식이 거짓으로 판정되어 실행문1이 수행되지 않으면 else절의 실행문2가 수행된다.
whlie 조건식:
	실행문1
else:
	실행문2
profile
매일 성장하는 예비 웹 개발자 🌱

0개의 댓글