본문 바로가기
알고리즘/백준 BOJ

[ BOJ/C# ] 2839 설탕 배달

by 왹져박사 2023. 8. 26.
728x90

https://www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

처음에는 for문과 여러 조건문들로 구성하여 풀어보았지만, 점점 너무 복잡해져 다른 방법을 찾아보았다. 

조건

1) 설탕이 5로 나누어 떨어지는 경우

2) 1을 충족하지 않지만 5와 3으로 나누어 떨어지는 경우 (마지막은 무조건 3으로 나누어 떨어져야 한다)

3) 설탕이 3으로 나누어 떨어지는 경우

4) 나누어 떨어지지 않는 경우 -1 출력

 

1, 2, 3 순으로 적은 봉지 수로 구성되기 때문에, 뒤 조건을 만족할 수 있는 상황이어도 앞의 조건을 먼저 확인해야 한다. 

using System;

namespace _2839
{
    class Program
    {
        static void Main()
        {
            int sugar = int.Parse(Console.ReadLine());

            int n = 0;  //봉지 수

            while (sugar > 0)
            {
                if (sugar % 5 == 0)
                {
                    sugar -= 5;
                    n++;
                }
                else if (sugar % 3 == 0)
                {
                    sugar -= 3;
                    n++;
                }
                else if (sugar > 5)
                {
                    sugar -= 5;
                    n++;
                }
                else
                {
                    n = -1;
                    break;
                }
            }
            Console.WriteLine(n);
        }
    }
}

728x90

'알고리즘 > 백준 BOJ' 카테고리의 다른 글

[ BOJ/C# ] 1159 농구 경기  (0) 2023.08.27
[ BOJ/C# ] 1764 듣보잡  (0) 2023.08.26
[ BOJ/C# ] 2844 알람 시계  (0) 2023.08.25
[ BOJ/C# ] 2751 수 정렬하기 2  (0) 2023.08.23
[ BOJ/C# ] 10828 스택  (0) 2023.08.23