💡 다이나믹 프로그래밍/그리디 알고리즘/수학
Memory 1112KB Time 0ms Code Length 572B
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include<stdio.h>
int main()
{
int sugar;
scanf("%d", &sugar);
int result = 0;
result = 2 * (sugar / 10);
if (sugar == 1 || sugar == 2 || sugar == 4 || sugar == 7) {
result = -1;
}
else {
sugar = sugar % 10;
//11 == 3
//12 == 4
//13 == 3
//14 == 4
//15 == 3
//16 == 4
//17 == 5
//18 == 4
//19 == 5
switch (sugar)
{
case 1:
case 3:
case 5:
result += 1;
break;
case 2:
case 4:
case 6:
case 8:
result += 2;
break;
case 7:
case 9:
result += 3;
break;
default:
break;
}
}
printf("%d\n", result);
}
이 코드는 사용자로부터 정수를 입력받아서 그 수에 따라 연산을 수행하여 결과를 출력하는 프로그램이다. 먼저 사용자가 입력한 수를 10으로 나눈 몫에 2를 곱한 값을 result에 저장한다. 그 후, 입력한 수가 1, 2, 4, 7 중 하나인 경우 result를 -1로 설정한다. 그렇지 않은 경우, 입력한 수를 10으로 나눈 나머지를 구하고 switch 문을 사용하여 각 경우에 따라 result에 값을 더해준다. 마지막으로, 결과값을 출력한다.