PS/CodeUp

CodeUp / String(문자열) / 1754번 / 큰 수 비교 / C++

KimMinJun 2020. 9. 29. 22:30

문제 설명

우리는 숫자를 int나 long long으로 숫자를 처리하였다.

이번엔 그보다 더 큰 숫자를 비교해보자.

최대 100자리의 두 숫자가 입력되면 작은수와 큰 수를 차례대로 출력하시오.

 

입력

정수 두개가 입력된다.(최대 100자리) - 같은 숫자는 입력되지 않는다.

 

출력

작은수 큰수 순서로 출력한다.

 

입력 예시

9999999999999999999999999 9999999999999999999999998

 

출력 예시

9999999999999999999999998 9999999999999999999999999

 

#include <iostream>
#include <string>
using namespace std;

int main() {
	string str1, str2;

	cin >> str1 >> str2;

	if (str1.length() > str2.length()) {
		cout << str2 << " " << str1 << endl;
	}
	else if(str1.length() < str2.length()) {
		cout << str1 << " " << str2 << endl;
	}

	if (str1.length() == str2.length()) {
		if (str1 > str2)
			cout << str2 << " " << str1 << endl;
		else if (str1 < str2)
			cout << str1 << " " << str2 << endl;
	}
}

 


처음에 문제만 보면 저 수를 어떻게 처리하지라는 난감함에 빠졌을 것이다.

하지만 문자열로 취급해서 풀어본다면, 단순히 길이가 더 긴 쪽이 더 클것이다.

만약 길이가 같다면, 평범하게 숫자 비교하듯 해주면 된다.