문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
오직 십진수 6과 9만 포함한 양의 정수 num이 주어진다.
숫자의 한 자리만 변경해서 얻을 수 있는 최대값을 반환해라(6은 9, 9는 6이 된다).
#1
Input: num = 9669
Output: 9969
Explanation:
첫 번째 자리를 바꾼 결과는 6669이다.
두 번째 자리를 바꾼 결과는 9969이다.
세 번째 자리를 바꾼 결과는 9699이다.
네 번째 자리를 바꾼 결과는 9666이다.
가장 큰 숫자는 9969이다.
#2
Input: 9996
Output: 9999
Explanation: 마지막 자리 6을 9로 바꾼 결과가 가장 큰 숫자이다.
#3
Input: num = 9999
Output: 9999
Explanation: 더 큰 숫자가 없어서 바꾸지 않아도 된다.
class Solution {
public int maximum69Number (int num) {
char[] digits = String.valueOf(num).toCharArray();
for(int i = 0; i < digits.length; i++){
if(digits[i] == '6'){
digits[i] = '9';
break;
}
}
return Integer.parseInt(new String(digits));
}
}