코딩로그
[백준/BOJ/C++] 2864번 5와 6의 차이 본문
[문제]
상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다.
상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다.
두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오.
[입력]
첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)
[출력]
첫째 줄에 상근이가 구할 수 있는 두 수의 합 중 최솟값과 최댓값을 출력한다.
[Source Code]
#include <stdio.h>
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string a, b, amax, amin, bmax, bmin;
cin >> a >> b;
amax = a;
amin = a;
bmax = b;
bmin = b;
for(int i = 0; i < a.length(); i++){
if(a[i] == '5')
amax[i] = '6';
else if(a[i] == '6')
amin[i] = '5';
}
for(int i = 0; i < b.length(); i++){
if(b[i] == '5')
bmax[i] = '6';
else if(b[i] == '6')
bmin[i] = '5';
}
int max = stoi(amax) + stoi(bmax);
int min = stoi(amin) + stoi(bmin);
cout << min << " " << max;
}
[결과 화면]
'YJ > C++' 카테고리의 다른 글
[백준/BOJ/C++] 1159번 농구 경기 (0) | 2021.11.12 |
---|---|
[백준/BOJ/C++] 14726번 신용카드 판별 (0) | 2021.11.12 |
[백준/BOJ/C++] 15803번 PLAYERJINAH’S BOTTLEGROUNDS (0) | 2021.11.12 |
[백준/BOJ/C++] 11328번 Strfry (0) | 2021.11.12 |
[백준/BOJ/C++] 2941번 크로아티아 알파벳 (0) | 2021.11.12 |