Story of CowHacker

백준 14916번 거스름돈 본문

공부/백준

백준 14916번 거스름돈

Cow_Hacker 2021. 1. 1. 13:44
728x90

이름은 같지만 문제 번호가 다른 거스름돈 문제를 또 풀어 봤다.

 

 

 

 

 

 

문제에 나온 손님이 좀 까다로운 손님으로 보였다.

 

 

 

 

 

 

 

예제를 보고 코딩을 어떻게 할지 생각했다.

 

 

 

 

출처 부분에 도움을 준 사람의 닉네임이 적혀 있었다.

그 언젠가 나도 저기에 내 닉네임 ( namja ) 이 적히길 바라면서 열심히 해야겠다.

 

 

이번에도 그리디 알고리즘~! 을 풀었다.

 

 

 

 

 

 

 

 

Python

coin = int(input())                   # 거스름돈을 받는 변수다.
fcount = 0                            # 5원 짜리를 거슬러 줬다는 변수다.
tcount = 0                            # 2원 짜리를 거슬러 줬다는 변수다.

if (coin%5) < 5 and coin >= 5:        # 거스름돈을 5원으로 나누었을때 나머지가 5보다 작고 거스름돈이 5원 보다 크거나 같을때 진입한다.
    if (coin%5)%2 != 0:               # 5원으로 나눴는데 나머지가 2나 5로 나눌수 없을때 진입한다.
        fcount = (coin//5) -1         # 5원으로 거슬러 줬다는 변수를 수정한다.
        tcount = (coin-(fcount*5))//2 # 2원으로 거슬러 줬다는 변수를 수정한다.
        print(fcount+tcount)          # 5원,2원으로 거슬러준 변수를 더한후 출력한다.
    else:                             # 5원으로 나눴는데 나머지가 2나 5로 나눌수 있을때 진입한다.
        fcount = coin//5              # 5원으로 거슬러 줬다는 변수를 수정한다.
        coin = coin-(fcount*5)        # 받은 거스름돈에서 5원으로 거스른 값을 뺀다.
        tcount = coin//2              # 2원으로 거슬러 줬다는 변수를 수정한다.
        print(fcount+tcount)          # 5원,2원으로 거슬러준 변수를 더한후 출력한다.

elif coin < 5 and coin%2 == 0:        # 받은 거스름돈이 5보다작고 2로 나눴을때 나머지가 0일때 진입한다.
    tcount = coin//2                  # 2원으로 거슬러 줬다는 변수를 수정한다.
    print(tcount)                     # 2원으로 거슬러준 변수를 출력한다.

else:                                 # 5원,2원 둘다 나눌수 없는 값일 경우 진입한다.
    print(-1)                         # -1을 출력한다.

 

 

 

 

728x90

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

백준 16435번 스네이크버드  (0) 2021.01.17
백준 7568번 덩치  (0) 2021.01.10
백준 11508번 2 + 1 세일  (0) 2020.12.17
백준 14720번 우유 축제  (0) 2020.10.15
백준 14659 한조서열정리하고옴ㅋㅋ  (0) 2020.09.08
Comments