BOJ - 2839

Kaydenna92·2022년 5월 29일
0

Algorithm

목록 보기
4/36

while ~ else 문

조건식이 거짓으로 판정되어서 ‘실행문1’이 수행되지 않을 때 else 절의 ‘실행문2’가 수행.
만약 break 문에 의해서 반복이 끝난다면 (for 반복문과 마찬가지로) else절은 수행되지 않고 종료.

접근

  1. 숫자가 5의 배수인 경우 5로 나눈 몫이 최소

  2. 3의 배수인 경우, 3으로 나눈 몫이 최소

  3. 그 외에 8, 11, 13....etc는 어떻게 구할까??
    -> while 문을 통해 반복
    -> 입력받은 값을 5의 배수가 나올 때 까지 3씩 감소 시킴
    -> 3씩 감소 시키면서, count는 1씩 증가시킨다.

  4. 7, 14, 16...etc
    -> while 조건문이 거짓이 되어 반복이 끝나면 else 문을 통해 처리


# 5의 배수가 될 때까지, 설탕의 무게에서 3킬로그램씩 빼기
kilo = int(input())
cnt = 0

while kilo >= 0:
    if kilo % 5 == 0:
        cnt += kilo // 5
        print(cnt)
        break
    
    kilo -= 3
    cnt += 1

else:
    print(-1)
    
profile
persistently

0개의 댓글