문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
큰 정수를 나타내는 문자열 num이 주어진다. 정수가 다음 조건을 만족하면 good이다.
문자열에서 가장큰 good 정수를 반환하거나 정수가 존재하지 않으면 ""를 반환해라.
#1
Input: num = "6777133339"
Output: "777"
Explanation: 고유한 good 정수 "777", "333" 2개 있다.
"777"이 가장 커서, "777"을 반환한다.
#2
Input: num = "2300019"
Output: "000"
Explanation: "000"만 오직 good 정수이다.
#3
Input: num = "42352338"
Output: ""
Explanation: 오직 길이가 3이고 하나의 고유한 숫자의 부분 문자열이 없다. 그래서 good 정수가 없다.
class Solution {
public String largestGoodInteger(String num) {
int max = -1;
for(int i = 0; i < num.length() - 2; i++){
if(num.charAt(i) == num.charAt(i + 1) && num.charAt(i) == num.charAt(i + 2)){
max = Math.max(max, num.charAt(i) - '0');
i += 2;
}
}
return max == -1 ? "" : String.valueOf((char) (max + '0')).repeat(3);
}
}