https://www.acmicpc.net/problem/11047
언어를 배우는 과정에서 초반에 자주 보게 되는 유형의 문제 같다.
동전을 가장 큰 단위부터 나머지가 0이 될때까지 나눠주면 된다.
using System;
using System.Text;
namespace B11047
{
class Program
{
static void Main()
{
StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
int[] nk = Array.ConvertAll(sr.ReadLine().Split(' '), int.Parse);
int[] coins = new int[nk[0]];
int count = 0; //동전 개수
for(int i = 0; i < nk[0]; i++) coins[i] = int.Parse(sr.ReadLine());
//가장 뒤의 단위부터 나누기
for (int i = nk[0] - 1; i >= 0; i--)
{
count += nk[1] / coins[i];
nk[1] %= coins[i]; //나머지
if (nk[1] == 0) break;
}
sw.Write(count);
sr.Close();
sw.Flush();
sw.Close();
}
}
}
'알고리즘 > 백준 BOJ' 카테고리의 다른 글
[ BOJ/C# ] 17219 비밀번호 찾기 (0) | 2023.09.16 |
---|---|
[ BOJ/C# ] 11399 ATM (0) | 2023.09.16 |
[ BOJ/C# ] 2577 숫자의 개수 (0) | 2023.09.14 |
[ BOJ/C# ] 10818 최소, 최대 (0) | 2023.09.13 |
[ BOJ/C# ] 1929 소수 구하기 _ 에라토스테네스의 체 (0) | 2023.09.11 |