728x90
▶문제 : 리모컨 (codeup.kr)
▶코드 작성
#include <stdio.h>
#include <math.h>
int fuc(int n)
{
int temp = abs(n - 10);//10으로 일단 빼보기
if (temp > abs(n - 5)) temp = abs(n - 5);//10으로 뺄 때와 5로 뺄 때 비교
if (temp > abs(n - 1)) temp = abs(n - 1);//5로 뺄 때와 1로 뺄 때 비교
return temp;
}
int main()
{
int a, b, temp, cnt = 0;
scanf("%d %d", &a, &b);
if (b < 0) temp = a + abs(b);//목표 온도가 음수일 때
else temp = abs(a - b);//목표 온도가 양수일 때
while (temp != 0)
{
temp = fuc(temp);//온도 조절
cnt++;
}
printf("%d", cnt);
return 0;
}
▶해석
온도 a와 온도 b의 차이를 구하기 위해 절댓값 abs를 이용하여 temp 저장하였다. 그러고 나서 while문을 이용하여 temp이 10,5,1 중 뺄셈을 했을 때 더 적은 결괏값을 temp으로 저장하였다. abs 절댓값 사용으로 temp은 음수로 내려갈 수 없다.
728x90
'코드업(codeup) > C' 카테고리의 다른 글
코드업(codeup) 3321 : 최고의 피자 C언어 (0) | 2021.11.16 |
---|---|
코드업(codeup) 3301 : 거스름돈 C언어 (0) | 2021.11.16 |
코드업(codeup) 2001 : 최소 대금 C언어 (0) | 2021.11.15 |
코드업(codeup) 2631 : 보물 찾기 C언어 (0) | 2021.11.13 |
코드업(codeup) 3004 : 데이터 재정렬 C언어 (0) | 2021.11.12 |
댓글