Lumpy Space Princess - Adventure Time
코딩테스트/백준

백준 [2839] - 설탕 배달

yaebb_82 2022. 8. 25.

 

문제

 

 

 

작성한 코드

import sys

input = sys.stdin.readline

N = int(input())
sugar = 0

while True:
    if (N%5) == 0:
        sugar += (N//5)
        print(sugar)
        break
  
    if N >= 3:
        N -= 3
        sugar += 1
    else:
        print(-1)
        break

- sys.stdin.readline을 input에 할당하여 사용한다.

- input()으로 문자를 입력받고, int형으로 형변환하여 N에 저장한다. (N : kg 수)

- 봉지 수인 sugar를 0으로 초기화 시켜준다.

- while True: 반복문 while문의 조건을 True로 하여 무한반복 되게 한다.

- if (N%5)==0: 만약 N을 5로 나눴을 때 0이라면, sugar에 N을 5로 나눴을 때의 몫을 더해주고, print()로 출력한뒤, break문으로 while문을 멈춘다. (먼저 제일 큰 5kg으로 나눠본다.)

- if N >= 3: 만약 N이 3보다 크다면, N의 값을 3 감소시켜주고, sugar를 1 증가시켜준다.

- 이후 3이 감소된 N으로 다시 반복문을 돌게 된다.

- else: 만약 N이 3보다 작다면, 5나 3으로 나눠지지 않기 떄문에 print()로 -1을 출력하고, break문으로 while문을 멈춘다.

 

 

 

반응형

댓글