알고리즘 풀이

[C#] 백준 11047번 문제풀이

bimtaeur30 2025. 12. 30. 09:02

문제번호: 11047

문제명: 동전 0

문제링크: https://www.acmicpc.net/problem/11047

문제내용과 예제 입/출력은 위 문제 링크에서 확인해 주시기 바랍니다.

해당 문제는 주어진 동전으로 최소한의 카운트를 통해 목표금액을 채우는 문제입니다.

Peny리스트에 주어진 동전들을 넣고 for문으로 뒤쪽부터 순회하며 수를 비교하고 작다면 i를 ++하여 한번 더 계산하도록 강제했습니다. 간단하게 풀 수 있던 문제였습니다.

 

public static void Main()
{
    int[] input1 = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
    int N = input1[0];
    int K = input1[1];

    int count = 0;

    List<int> penyList = new List<int>();

    for (int i = 0; i < N; i++)
    {
        int num = int.Parse(Console.ReadLine());
        penyList.Add(num);
    }

    for (int i = penyList.Count - 1; i >= 0; i--)
    {
        int num = penyList[i];
        if (K >= num)
        {
            K -= num;
            count++;
            i++;
        }

        if (K == 0) break;
    }

    Console.WriteLine(count);
}

'알고리즘 풀이' 카테고리의 다른 글

[C#] 백준 2579번 문제풀이  (0) 2026.01.02
[C#] 백준 17219번 문제풀이  (0) 2025.12.31
[C#] 백준 11723번 문제풀이  (0) 2025.12.29
[C#] 백준 30802번 문제풀이  (0) 2025.12.29
[C#] 백준 2775번 문제풀이  (0) 2025.12.26