문제

상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다.

상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다.

두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)

출력

첫째 줄에 상근이가 구할 수 있는 두 수의 합 중 최솟값과 최댓값을 출력한다.

예제 입력 1

1430 4862

예제 출력 1

6282 6292

더보기

Solution

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(void)
{
	int A, B, min[2], max[2];
	char num[10]={'\0', };

	scanf("%d %d", &A, &B);

	sprintf(num,"%d", A);
	for(int i=0;i<strlen(num);i++)
		num[i]+=num[i]=='5';
	max[0]=atoi(num);
	for(int i=0;i<strlen(num);i++)
		num[i]-=num[i]=='6';
	min[0]=atoi(num);

	for(int i=0;i<10;i++)
		num[i]='\0';
	sprintf(num,"%d", B);
	for(int i=0;i<strlen(num);i++)
		num[i]+=num[i]=='5';
	max[1]=atoi(num);
	for(int i=0;i<strlen(num);i++)
		num[i]-=num[i]=='6';
	min[1]=atoi(num);

	printf("%d %d\n", min[0]+min[1], max[0]+max[1]);
	return 0;
}
728x90

+ Recent posts