한 걸음씩 기록하며
[백준] 11047번 동전 0 본문
⛏ 문제 파악
- N 종류의 동전이 주어지고, K라는 값이 주어짐
- 주어진 동전의 종류의 최소한의 갯수로 K라는 값을 만드는 문제
👉🏻 답안
- 패스한 답안
N, K = map(int, input().split())
need = 0
coins = []
for _ in range(N):
coin_type = int(input())
coins.append(coin_type)
coins.reverse()
for coin in coins:
if K == 0:
break
need += K // coin
K %= coin
print(need)
- 시간 초과 뜬 답안
N, K = map(int, input().split())
need = 0
coins = []
for _ in range(N):
coin_type = int(input())
coins.append(coin_type)
coins.reverse()
for coin in coins:
if coin > K:
continue
else:
while coin <= K:
K -= coin
need += 1
print(need)
📑 간단한 설명
- 원래 아래 것으로 답안을 제출했는데 시간초과가 나서 위에 답안으로 제출했다.
- 주어진 동전의 종류를 reverse() 했다. 큰 것부터 나누기 위함
- need += K // coin : //은 나머지를 제외하고 몫만 알려줌
- K %= coin : K % coin 하면 나머지만 나옴. 나머지를 넣어서 계속 for문 돌림
'알고리즘 & 코딩테스트' 카테고리의 다른 글
[백준] 1436번 영화감독 숌 (0) | 2022.03.20 |
---|---|
[백준] 11399번 ATM (0) | 2022.03.19 |
[백준] 1541번 잃어버린 괄호 (0) | 2022.03.19 |
[백준] 11050번 이항 계수 1 (0) | 2022.03.18 |
[백준] 1934번 최소공배수 (0) | 2022.03.18 |
Comments