문제 설명
우리는 숫자를 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;
}
}
처음에 문제만 보면 저 수를 어떻게 처리하지라는 난감함에 빠졌을 것이다.
하지만 문자열로 취급해서 풀어본다면, 단순히 길이가 더 긴 쪽이 더 클것이다.
만약 길이가 같다면, 평범하게 숫자 비교하듯 해주면 된다.
'PS > CodeUp' 카테고리의 다른 글
CodeUp / 입,출력 / 1125번 / 8진수 16진수 변환 / C++ (0) | 2020.09.30 |
---|---|
CodeUp / String(문자열) / 2721번 / 순환 문자열 / C++ (0) | 2020.09.29 |
CodeUp / String(문자열) / 1408번 / 암호처리 / C++ (0) | 2020.09.29 |
CodeUp / String(문자열) / 1295번 / 알파벳 대소문자 변환 / C++ (0) | 2020.09.29 |