728x90
▶문제 : 전자레인지 (codeup.kr)
▶코드 작성
#include <stdio.h>
int main()
{
int t;
scanf("%d", &t);
if (t % 10 != 0) {//일의자리수가 존재할 때 맞출 수 없으므로 -1
printf("-1");
return 1;
}
int time[3] = {300, 60, 10};//A,B,C 버튼
int cnt[3] = {0};
for (int i = 0; i < 3; i++)//A버튼부터
{
if (time[i] <= t)//버튼 시간이 t초보다 작다면
{
cnt[i] = t / time[i];//버튼을 누르는 횟수
t = t % time[i];//남은 시간(초)
}
}
for (int i = 0; i < 3; i++) {
printf("%d ", cnt[i]);
}
return 0;
}
▶해석
t를 입력받아서 10으로 나눈 나머지가 0이 아니라면 일의 자릿수가 있다는 것이므로 -1을 출력하고 종료한다.
time배열에 각각 A,B,C 버튼의 초를 입력하고, 반복문으로 time배열의 초가 t보다 작다면 버튼을 누를 수 있다는 의미이므로 cnt배열에 버튼을 누르는 횟수를 입력하였다.
t/time [i]으로 버튼을 누르는 횟수를 구하고, t% time [i]으로 버튼을 누르고 남은 시간을 구할 수 있다. 그렇게 남은 시간으로 다음 버튼을 누를 수 있는지 계속 반복하여 구하였다.
728x90
'코드업(codeup) > C' 카테고리의 다른 글
코드업(codeup) 4866 : 방 배정 (중등) C언어 (0) | 2022.02.22 |
---|---|
코드업(codeup) 4861 : 방 배정 C언어 (0) | 2022.02.22 |
코드업(codeup) 3008 : 일곱 난쟁이 C언어 (0) | 2022.01.29 |
코드업(codeup) 3709 : 블럭 채우기 1 C언어 (0) | 2022.01.29 |
코드업(codeup) 2655 : 1차 함수의 x절편 구하기 C언어 (0) | 2022.01.29 |
댓글