문제
상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다.
상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다.
두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)
출력
첫째 줄에 상근이가 구할 수 있는 두 수의 합 중 최솟값과 최댓값을 출력한다.
쉬운 문제 but atoi 알고리즘 헤더 필수, stoi 말고 atoi(temp.c_str()) 이걸로 쓰기
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int getmax(string str){
for(int i=0; i<str.size(); i++)
{
if(str[i] == '5')
{
str[i] = '6';
}
}
return atoi(str.c_str());
}
int getmin(string str){
for(int i=0; i<str.size(); i++)
{
if(str[i] == '6')
{
str[i] = '5';
}
}
return atoi(str.c_str());
}
int main(void)
{
string str, str2;
cin >> str >> str2;
int minstr, minstr2;
int maxstr, maxstr2;
int min , max;
minstr = getmin(str);
minstr2 = getmin(str2);
maxstr = getmax(str);
maxstr2 = getmax(str2);
cout<<minstr+minstr2<<" "<<maxstr+maxstr2<<endl;
}
'Algorithm' 카테고리의 다른 글
백준 2920번 음계 (0) | 2019.08.23 |
---|---|
백준 2847번 게임을 만드는 동준이 (0) | 2019.08.22 |
백준 3986번 좋은단어 (0) | 2019.08.14 |
백준 1963번 소수 경로 (0) | 2019.08.13 |
백준 11779번 최소비용 구하기2 (0) | 2019.08.12 |