알고리즘/Java

[python] 백준 설탕 배달(2839)

유리코딩 2021. 12. 26. 03:16
반응형

알고리즘

python 백준 설탕 배달(2839)

 

1. 문제

https://www.acmicpc.net/problem/2839

 

 

 

2. 풀이

  • while문 속에 조건을 두어 n이 5의 배수가 될때까지  설탕을 3씩 빼주고, 봉지를 1씩 더해준다
  • n이 5의 배수가 되어 if 문을 통과하면 설탕봉지의 개수가 나오고
  • 5의 배수나 0이 되지 않고 음수가 되면 else를 통해 -1일 출력된다
n = int(input())

bag = 0

while n >= 0:

    # 5의 배수이면 바로 나눠서 설탕봉지 구하기
    if n % 5 == 0:
        bag += (n // 5)
        print(bag)
        break

    # 5의 배수가 아니면 5의 배수가 될 때까지 설탕 -3
    n -= 3
    # 5의 배수가 될때까지 설탕봉지 +1
    bag += 1

else:
    # 음수가 되면 -1 출력하기
    print(-1)

 

[새로 배운점]

  • if문을 wile문의 조건 사이에 두어 while문이 돌때 if 조건이 안맞으면 while문을 돌고, if 조건이 맞으면 while문 조건보다 if 조건을 먼저 도는게 인상적이다.

 

[느낀점]

  • 문제를 볼때는 어렵다고 생각들지 않지만 막상 풀어보면 항상 혼자 풀어 답을 내지못하고 답을 찾아본다... 언제쯤 답을 찾아보지 않고 혼자 풀어볼 수 있을까?ㅠ_ㅠ

 

반응형