문제
작성한 코드
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문을 멈춘다.
'💻 코딩테스트 > 백준' 카테고리의 다른 글
백준 [1978] - 소수 찾기 (0) | 2022.08.27 |
---|---|
백준 [10757] - 큰 수 A+B (0) | 2022.08.25 |
백준 [2775] - 부녀회장이 될테야 (0) | 2022.08.25 |
백준 [10250] - ACM 호텔 (0) | 2022.08.25 |
백준 [2869] - 달팽이는 올라가고 싶다 (0) | 2022.08.24 |