using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BOJ2839
{
class Program
{
static void Main(string[] args)
{
// 입력 받는 무게
int input = int.Parse(Console.ReadLine());
// 봉지 갯수
int count = 0;
// while문으로 input값이 0보다 클때까지 반복
// - 루프 한번이 돌면 input에는 계산된 나머지가 계속 남게됨. 나머지 값을 계속 체크해주는 것
// - 1. 3의 배수인지 5의 배수인지 체크
// - 2. 두 경우가 아니라면(ex : 17) 우선 5로 빼주고 ( 우선 큰 수로 나누어야지 봉지 갯수가 적어지므로)
// - 3. 계산된 나머지(input)값을 계속해서 체크하면서 계산해 줌
// 출력 부분에 요구하는 "정확하게 N킬로그램을 만들 수 없다면 -1을 출력한다" 는 부분은
// - 3의 배수도 아니고 5의 배수도 아닌 수 이고 (ex : 7)
// - 5로 빼주었을 때 조차 3의 배수도 5의 배수도 아니다. (ex : 7 - 5 = 2)
// - 그런 수가 있을 경우 -1로 출력
while (input > 0)
{
if (input % 5 == 0)
{
input -= 5;
count++;
}
else if (input % 3 == 0)
{
input -= 3;
count++;
}
else if (input > 5)
{
input -= 5;
count++;
}
else
{
count = -1;
break;
}
}
Console.WriteLine(count);
}
}
}
재호노트 님 블로그 참고
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 2751 수 정렬하기 2 (0) | 2023.01.25 |
---|---|
[BOJ] 10773 제로 (0) | 2023.01.25 |
[BOJ] 4153 직각삼각형 (0) | 2023.01.25 |
[BOJ] 2609 최대공약수 최소공배수 (0) | 2023.01.25 |
[BOJ] 10822 더하기 (0) | 2023.01.23 |