알고리즘/백준 BOJ
[ BOJ/C# ] 11047 동전 0
왹져박사
2023. 9. 15. 01:07
https://www.acmicpc.net/problem/11047
11047번: 동전 0
첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)
www.acmicpc.net
언어를 배우는 과정에서 초반에 자주 보게 되는 유형의 문제 같다.
동전을 가장 큰 단위부터 나머지가 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();
}
}
}

