[LeetCode] Largest 3-Same-Digit Number in String

아르당·2026년 8월 23일

LeetCode

목록 보기
482/563
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

큰 정수를 나타내는 문자열 num이 주어진다. 정수가 다음 조건을 만족하면 good이다.

  • 길이가 3인 num의 부분 문자열이다.
  • 오직 하나의 고유한 숫자로 구성된다.

문자열에서 가장큰 good 정수를 반환하거나 정수가 존재하지 않으면 ""를 반환해라.

Example

#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 정수가 없다.

Constraints

  • 3 <= num.length <= 1000
  • num은 오직 숫자로 구성된다.

Solved

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);
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글