Baekjoon Online Judge
2864번: 5와 6의 차이
첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)
www.acmicpc.net
[문제]
상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다.
상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고, 6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다.
두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다. 이때, 상근이가 구할 수 있는 두 수의 가능한 합 중, 최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오.
[입력]
첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)
[출력]
첫째 줄에 상근이가 구할 수 있는 두 수의 합 중 최솟값과 최댓값을 출력한다.
[코드]
#include <iostream>
#include <string>
using namespace std;
int main()
{
string A, B;
cin >> A >> B;
string minA = A, maxA = A, minB = B, maxB = B;
for (int i = 0; i < A.length(); i++)
{
if (A[i] == '5')
maxA[i] = '6';
if (A[i] == '6')
minA[i] = '5';
}
for (int i = 0; i < B.length(); i++)
{
if (B[i] == '5')
maxB[i] = '6';
if (B[i] == '6')
minB[i] = '5';
}
cout << stoi(minA) + stoi(minB) << " " << stoi(maxA) + stoi(maxB) << '\n';
return 0;
}
string을 int로 변환하는 방법에 대해 숙지하고 있으면 간단하게 풀 수 있다.
'Baekjoon > C++' 카테고리의 다른 글
[C++][BOJ/백준] 4458 첫 글자를 대문자로 (4) | 2024.02.08 |
---|---|
[C++][BOJ/백준] 3047 ABC (1) | 2024.02.07 |
[C++][BOJ/백준] 5533 유니크 (0) | 2024.02.05 |
[C++][BOJ/백준] 1032 명령 프롬프트 (0) | 2024.02.04 |
[C++][BOJ/백준] 1037 약수 (0) | 2024.02.03 |