이것저것 시도하다가 다 안 되서 쉬운 거 하나 풀었다.
상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다.
상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다.
두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오.
첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)
첫째 줄에 상근이가 구할 수 있는 두 수의 합 중 최솟값과 최댓값을 출력한다.
5
와 6
을 5
로 바꾸고 최댓값은 5
와 6
을 6
으로 바꾸서 각각 더해주면 된다.#include <iostream>
#include <string>
using namespace std;
int main() {
cin.tie(NULL);
ios_base::sync_with_stdio(false);
string num1, num2;
cin >> num1 >> num2;
string maxNum1="", maxNum2 = "";
string minNum1 = "", minNum2 = "";
for (char n : num1){
if (n == '5' || n == '6') {
maxNum1 += '6';
minNum1 += '5';
}
else {
maxNum1 += n;
minNum1 += n;
}
}
for (char n : num2) {
if (n == '5' || n == '6') {
maxNum2 += '6';
minNum2 += '5';
}
else {
maxNum2 += n;
minNum2 += n;
}
}
cout << stoi(minNum1) + stoi(minNum2) << " " << stoi(maxNum1) + stoi(maxNum2);
}