[코딩테스트C++] 동전0
오늘의 문제
https://www.acmicpc.net/problem/11047
동전0
나의 풀이
int solution(int k, vector<int> a){
int answer =0;
int i = 0;
while(k != 0){
int value = a[a.size()-1-i];
if(k / value != 0){
answer += k / value;
k = k%value;
}
i++;
}
return answer;
}
풀이 법
- 동전거슬러주기랑 비슷한점이 있으나 1이 항상 포함되어있어 실패할 일이 없다는것이 다르다.
- 제일 큰 수부터 나눠지는지 비교를 하고 값이 0이 될때까지 반복한다.
모범 답안
#include <stdio.h>
int n, m, a[12], i, cnt;
main()
{
scanf("%d %d", &n, &m);
for(i=0; i<n; i++)
scanf("%d", a+i);
for(i=n-1; i>=0; i--)
{
cnt+=m/a[i];
m%=a[i];
}
printf("%d", cnt);
}
배울 점
- 입출력까지 신경써야하는거 백준 귀찮
Author And Source
이 문제에 관하여([코딩테스트C++] 동전0), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@huijae0817/코딩테스트C-동전0저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)