Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

코딩로그

[백준/BOJ/C++] 2864번 5와 6의 차이 본문

YJ/C++

[백준/BOJ/C++] 2864번 5와 6의 차이

Team DAON 2021. 11. 12. 15:20

[문제]

상근이는 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;
}

[결과 화면]