728x90
https://www.acmicpc.net/problem/2864
2864번: 5와 6의 차이
첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)
www.acmicpc.net
5를 5 혹은 6으로 보고, 6을 5 혹은 6으로 본다.
A와 B가 주어지고, 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중 최솟값과 최댓값 구해 출력
최솟값은 6을 5로 바꾸고, 최댓값은 6을 5로 바꾸면 나온다.
#include <iostream>
using namespace std;
int main(){
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
string a, b;
int ia, ib;
cin >> a >> b;
for(int i=0; i<a.size(); i++) if(a[i] == '6') a[i] = '5';
for(int i=0; i<b.size(); i++) if(b[i] == '6') b[i] = '5';
ia = stoi(a); ib = stoi(b);
cout << ia + ib << ' ';
for(int i=0; i<a.size(); i++) if(a[i] == '5') a[i] = '6';
for(int i=0; i<b.size(); i++) if(b[i] == '5') b[i] = '6';
ia = stoi(a); ib = stoi(b);
cout << ia + ib << '\n';
return 0;
}
쉽게 생각해서 그냥 최솟값을 출력하기 위해 6을 5로 바꾸고 최댓값을 출력하기 위해 5를 6으로 바꾸는 식으로 구현했다..
728x90
'알고리즘 > 백준' 카테고리의 다른 글
[백준/c++] 2810번: 컵홀더 (0) | 2022.07.08 |
---|---|
[백준/c++] 2720번: 세탁소 사장 동혁 (0) | 2022.07.08 |
[백준/c++] 10162번: 전자레인지 (0) | 2022.07.08 |
[백준/c++] 5585번: 거스름돈 (0) | 2022.07.08 |
[백준/c++] 1080번: 행렬 (0) | 2022.07.08 |