본문 바로가기
프로그래밍/개발 이야기

[백준] 10162번 문제풀이

by JR2 2021. 4. 7.

문제 : 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

댓글