문제 : www.acmicpc.net/problem/10162
알고리즘 :
1. T의 1의자리가 0이 아니라면, -1을 출력함.
2. T/300이 1보다 크면, T = T - ((T/300) * 300) 을 하고, 5분 Count를 T/300개 더함.
3. T/60이 1보다 크면, T = T - ((T/60) * 60) 을 하고, 1분 Count를 T/60개 더함.
4. T/10이 1보다 크면, T = T - ((T/10) * 10) 을 하고, 10초 Count를 T/10개 더함.
소스코드 :
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int T;
scanf("%d", &T);
int five = 0;
int one = 0;
int ten = 0;
if (T % 10 != 0) { printf("-1\n"); }
else
{
if (T / 300 >= 1)
{
five += (T / 300);
T -= (T / 300) * 300;
}
if (T / 60 >= 1)
{
one += (T / 60);
T -= (T / 60) * 60;
}
if (T / 10 >= 1)
{
ten += (T / 10);
T -= (T / 10) * 10;
}
printf("%d %d %d\n", five, one, ten);
}
return 0;
}
걸린시간 : 20분 (알고리즘 : 8분, 코딩 및 디버깅 : 12분)
테스트케이스:
100
189
200
10
60
500
310
1000
'프로그래밍 > 개발 이야기' 카테고리의 다른 글
[백준] 12904번 문제풀이 (0) | 2021.04.09 |
---|---|
[백준] 1715번 문제풀이 (0) | 2021.04.09 |
[백준] 1946번 문제풀이 (0) | 2021.04.07 |
[백준] 2217번 문제풀이 (2) | 2021.04.07 |
[백준] 1541번 문제풀이 (0) | 2021.04.06 |
댓글