문제
상근이는 2863번에서 표를 너무 열심히 돌린 나머지 5와 6을 헷갈리기 시작했다.
상근이가 숫자 5를 볼 때, 5로 볼 때도 있지만, 6으로 잘못 볼 수도 있고,
6을 볼 때는, 6으로 볼 때도 있지만, 5로 잘못 볼 수도 있다.
두 수 A와 B가 주어졌을 때, 상근이는 이 두 수를 더하려고 한다.
이때, 상근이가 구할 수 있는 두 수의 가능한 합 중,
최솟값과 최댓값을 구해 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 두 정수 A와 B가 주어진다. (1 <= A,B <= 1,000,000)
출력
첫째 줄에 상근이가 구할 수 있는 두 수의 합 중 최솟값과 최댓값을 출력한다.
예제 입력 1
11 25
예제 출력 1
36 37
예제 입력 2
1430 4862
예제 출력 2
6282 6292
예제 입력 3
16796 58786
예제 출력 3
74580 85582
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().split(" ");
let num1 = input[0].split('');
let num2 = input[1].split('');
let result = [];
for (let i = 0; i < Math.max(num1.length, num2.length); i++) {
if (num1[i] === '6') num1[i] = '5';
if (num2[i] === '6') num2[i] = '5';
}
result.push(Number(num1.join('')) + Number(num2.join('')));
for (let i = 0; i < Math.max(num1.length, num2.length); i++) {
if (num1[i] === '5') num1[i] = '6';
if (num2[i] === '5') num2[i] = '6';
}
result.push(Number(num1.join('')) + Number(num2.join('')));
console.log(result.join(' '));
Math.max를 이용해서 입력수 중 더 길이가 긴 것으로 잡는다
그리고 그냥 하나씩 확인하면서 5는 6으로 변경해서더한것 하나
6은 5로 변경해서 더한것 하나를 출력하면 끝이다