Story of CowHacker

백준 2839번 설탕배달 본문

공부/백준

백준 2839번 설탕배달

Cow_Hacker 2020. 8. 30. 23:08
728x90

백준 설탕 배달 문제를 풀어봤다.

 

a = int(input())               #가져갈 설탕 kg 수다.

count = 0                      # 가져갈 설탕 총 갯수다.

while True:                    # while문 무한루프를 생성한다.
    
    if a % 5 == 0:             # 설탕의 kg수가 5로 나누었을때 나머지가 0이면 if 진입한다.
        s = a // 5             # 가져갈 설탕 kg수 나누기 5를 한수를 s에 넣는다.
        count = count + s      # 가져갈 설탕 총 갯수에 s 값을 더한다.
        print(count)           # 가져갈 설탕 총 갯수를 출력한다.
        break                  # 출력후 while문 무한루프를 중지한다.
    a -= 3                     # 가져갈 설탕 kg수 에서 3 ( kg ) 을 뺀다.
    count += 1                 # 여기에 도달할시 가져갈 설탕의 총 갯수를 1개 올린다.
    
    if a < 0:                  # 만약 가져갈 설탕 kg수가 0보다 작을때 진입한다.
        print(-1)              # -1을 출력한다.
        break                  # 출력후 while문 무한루프를 중지한다.

코드 해석을 해보면

a라는 변수에 가져가야 할 설탕의 KG 수를 int로 받게 했다.

 

count는 가져가는 설탕의 총개수를 뜻한다.

 

while문을 무한 루프로 두고

 

a 가 5로 나누었을 때 나머지가 0일 때 진입하는 if문을 둔다.

이 if문에서는 a가 5로 나눴을 때의 값을 count에 더하는 역할을 한다.

 

첫 번째 if문을 진입하지 않았을 때는 a에 3을 뺀 후 count값을 1개 올린다.

 

두 번째 if문은 어떤 방법으로도 a가 3과 5로 나누어지지 않을 때 진입하게 만든 if문이다.

 

 

728x90

'공부 > 백준' 카테고리의 다른 글

백준 11047번 동전0  (0) 2020.08.31
백준 11399번 ATM  (0) 2020.08.31
백준 1000번 A + B  (0) 2020.08.11
백준 10172번 개  (2) 2020.08.07
백준 10171번 고양이  (0) 2020.08.07
Comments