문제
https://www.acmicpc.net/problem/1357
설명
이번문제는 바로 전에 했던 2908 상수 문제에서 사용한 소스를 재활용 하여 사용할 수 있었으나, 그걸 감안해도 추가적으로 수정해야할 작업으 많았다. 수의 자리를 뒤집는 부분을 함수화 시키고 입력으로 받아들일 수 있는 최대자릿수가 1000 이므로 이에 따라 수정하여 함수를 만들었다. 조금 시간이 걸리긴 했지만 어렵지는 않았다.
코드
#include <stdio.h>
int rev(int input)
{
if (input < 10)
return input;
else
{
int temp[4];
temp[0] = input / 1000; // 1000자리
temp[1] = (input - (temp[0]*1000))/100; // 100자리
temp[2] = ((input%100) - (input % 10))/10; //10의 자리
temp[3] = (input % 10); // 1의 자리
if (temp[1] == 0 && temp[0] == 0)
input = temp[2] + (temp[3] * 10);
else if (temp[0] == 0)
input = temp[1] + (temp[2]*10) + (temp[3]*100);
else if (temp[0] != 0)
input = (temp[3]*1000) + (temp[2]*100) + (temp[1]*10) + temp[0];
return input;
}
}
int main() {
int array[2];
scanf("%d %d",&array[0],&array[1]);
printf("%d\n",rev(rev(array[0]) + rev(array[1])));
return 0;
}