문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
정수 num이 주어진다. Bob이 10개의 가능한 숫자(0 ~ 9) 중 하나를 다른 숫자로 몰래 바꿀 것이라는 사실을 알고 있다.
num의 숫자 중 정확히 하나를 다른 숫자로 바꿔서 Bob이 만들 수 있는 최댓값과 최솟값의 차이를 반환해라.
#1
Input: num = 11891
Output: 99009
#2
Input: num = 90
Output: 99
class Solution {
public int minMaxDifference(int num) {
String str = Integer.toString(num);
char[] maxChars = str.toCharArray();
char[] minChars = str.toCharArray();
char replaceMax = ' ';
for(char c : maxChars){
if(c != '9'){
replaceMax = c;
break;
}
}
for(int i = 0; i < maxChars.length; i++){
if(maxChars[i] == replaceMax){
maxChars[i] = '9';
}
}
char replaceMin = minChars[0];
for(int i = 0; i < minChars.length; i++){
if(minChars[i] == replaceMin){
minChars[i] = '0';
}
}
int max = Integer.parseInt(new String(maxChars));
int min = Integer.parseInt(new String(minChars));
return max - min;
}
}