728x90
문제 링크 : https://www.acmicpc.net/problem/2839
백준 실버 4 문제 입니다.
내 코드
int input = int.Parse(Console.ReadLine());
int count = 0;
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);
코드 풀이 해석 내용
int input = int.Parse(Console.ReadLine());
입력을 받아 input 변수에 정수로 저장을 합니다.
int count = 0;
count 변수를 0으로 초기화합니다.
이 변수는 5나 3을 뺀 횟수를 세는 데 사용할겁니다.
while (input > 0)
input이 0보다 큰 동안 반복합니다.
if (input % 5 == 0)
{
input -= 5;
count++;
}
input이 5의 배수면 5를 빼고 count를 1 증가 시킵니다.
else if (input % 3 == 0)
{
input -= 3;
count++;
}
input이 3의 배수면 3을 빼고, count를 1 증가 시킵니다.
else if (input > 5)
{
input -= 5;
count++;
}
input이 5보다 크면 5을 빼고, count를 1 증가 시킵니다.
이 경우 3의 배수가 아니여도 5를 빼게 됩니다.
else
{
count = -1;
break;
}
위의 모든 조건들을 만족하지 않는다면 count를 -1로 설정합니다.
그 다음 반복을 종료합니다.
이는 더 이상 뺄 수 없다는 것을 나타냅니다.
Console.WriteLine(count);
최종적으로 count 값을 출력합니다.
만약 -1이 출력되면, 5와 3의 조합으로 input을 0을 만들 수 없다는 뜻입니다.
실행 결과
728x90
'C#' 카테고리의 다른 글
백준 C# 4153 문제 풀이 (0) | 2024.09.17 |
---|---|
백준 C# 1181 문제 풀이 (0) | 2024.09.16 |
백준 C# 8958 문제 풀이 (0) | 2024.09.15 |
백준 C# 2920 문제 풀이 (0) | 2024.09.15 |
백준 C# 10250 문제 풀이 (0) | 2024.09.15 |