내 풀이

1
2
3
4
5
6
7
8
9
10
11
N,k = input().split()
N,k = int(N),int(k)
cost = []
answer = 0
for i in range(N):
    cost.append(int(input()))
cost.sort(reverse = True)
for c in cost:
    answer += k//c
    k = k % c
print(answer)
  • cost: 동전 가치가 들어오는 배열

입력을 받고, cost 배열을 내림차순으로 정렬한 뒤, iteration을 돌며 몫을 answer 에 더하고, 나머지를 k로 재정의 한다

회고

백준은 Programmers 와 다르게 input도 신경써야 하기 때문에, 이 문제를 풀며 더 간결한 코드를 찾았다

1
N,k = map(int,input().split())

map 함수를 사용하면 공백으로 들어온 수를 int형으로 변환하여 저장까지 할 수 있다