반응형
[ 문제 ]
준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.
동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.
[ 코드 ]
1. 내 코드
StreamReader sr = new StreamReader(new BufferedStream(Console.OpenStandardInput()));
StreamWriter sw = new StreamWriter(new BufferedStream(Console.OpenStandardOutput()));
string[] s = sr.ReadLine().Split();
int n = int.Parse(s[0]);
int k = int.Parse(s[1]);
int[] arr = new int[n];
int index = 1;
int count = 0;
for (int i = 0; i < n; i++)
{
int a = int.Parse(sr.ReadLine());
arr[i] = a;
}
while(k > 0)
{
if (k >= arr[arr.Length - index])
{
count += k / arr[arr.Length - index];
k = k % arr[arr.Length - index];
}
else
{
index++;
}
}
sw.Write(count);
sw.Flush();
sw.Close();
sr.Close();
2. 다른 사람 코드
int[] n = Array.ConvertAll(Console.ReadLine().Split(), int.Parse), c = new int[n[0]];
for (int i = n[0] - 1; i >= 0; i--) c[i] = int.Parse(Console.ReadLine());
int m = 0;
for (int j = 0; j < n[0]; j++) { m += n[1] / c[j]; n[1] %= c[j]; }
Console.Write(m);
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/11047
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 N과 M (1) (백트래킹 재귀함수) (0) | 2024.04.02 |
---|---|
[C#] 백준 1931번 회의실 배정 (0) | 2024.04.02 |
[C#] 백준 25501번 재귀의 귀재 (0) | 2024.04.01 |
[C#] 백준 20920번 영단어 암기는 괴로워 (0) | 2024.03.31 |
[C#] 백준 2108번 통계학 (0) | 2024.03.31 |