일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Apache2
- 딥러닝
- 리뷰
- HTML
- 코딩
- Python Challenge
- AdaGrad
- 소프트맥스 함수
- 우분투
- 신경망 학습
- PHP
- 설치
- picoCTF
- FastAPI
- 기울기
- PICO CTF
- Python
- 파이썬
- 백준
- 순전파
- 아파치
- 책
- flag
- sgd
- 오차역전파법
- PostgreSQL
- C언어
- 신경망
- 역전파
- CTF
Archives
- Today
- Total
Story of CowHacker
백준 11047번 동전0 본문
728x90
백준 동전 0이라는 문제를 풀어 봤다.
이 문제가 나한테는 설탕 배달 문제와 ATM문제가 섞인 느낌의 문제였다.
즉 앞에 두 문제를 이해하고 풀 수 있어야 하는 것 같았다.
coins, price = map(int,input().split()) # 동전 종류 수와 가격을 띄어쓰기 기준으로 각각 입력 받는다.
count = 0 # 구할려는 동전의 갯수다.
priceslist = [] # 동전의 종류들을 담을 케이스다.
countlist = [] # 구할려는 동전의 갯수를 담을 케이스다.
##############################################
for _ in range(coins): # 동전 종류수 를 기준으로한 for문을 생성한다.
prices = list(map(int,input().split())) # 동전 종류를 각각 입력 받는다.
for _2 in prices: # 각각 입력받은 동전 종류를 기준으로 for문을 생성한다.
priceslist.append(_2) # 각각 입력받은 동전 종류를 리스트에 담는다.
priceslist = list(reversed(priceslist)) # 동전 종류 리스트를 내림차순으로 정렬한다.
##############################################
while True: # while문 무한루프를 생성한다.
garb = price%priceslist[0] # 가격에 동전 종류 리스트중 젤 큰 값을 나누기 한 나머지를 구한다.
s = price // priceslist[0] # 가격에 동전 종류 리스트중 젤 큰 값을 나누기한 몫을 구한다.
if garb == 0 and s > 0: # 나머지가 0이고 몫이 0보다 클때 if문 진입을 하게 한다.
counts2 = price//priceslist[0] # 다시 가격에 동전 리스트중 젤 큰값을 나눈 몫을 구한다.
print(sum(countlist) + counts2) # 이 if 문에 들어오지 않았을때의 구할려는 동전갯수 리스트의 총합과 이 if 문에 있는 몫과 더한 값을 출력한다.
break # whle문 무한루프를 종료한다.
count = price//priceslist[0] # 가격에 동전 종류 리스트중 젤 큰 값을 나눈 몫을 구한다.
countlist.append(count) # 나눈 몫을 하나하나 리스트에 담는다.
price = price - (s*priceslist[0]) # 가격 변동을 위해 처음에 구한 몫 곱하기 젤 큰 수를 한다음 가격에서 뺀다.
del(priceslist[0]) # 젤 큰 가격을 리스트에서 하나하나 제거해 나간다.
728x90
'공부 > 백준' 카테고리의 다른 글
백준 2217번 로프 (0) | 2020.09.03 |
---|---|
백준 5585번 거스름돈 (0) | 2020.09.03 |
백준 11399번 ATM (0) | 2020.08.31 |
백준 2839번 설탕배달 (0) | 2020.08.30 |
백준 1000번 A + B (0) | 2020.08.11 |
Comments