Post

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

LeetCode 2264 (Java)
[Largest 3-Same-Digit Number in String] 문제 풀이

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

문제 바로가기


Description


You are given a string num representing a large integer. An integer is good if it meets the following conditions:

  • It is a substring of num with length 3.
  • It consists of only one unique digit.

Return the maximum good integer as a string or an empty string "" if no such integer exists.

Note:

  • A substring is a contiguous sequence of characters within a string.
  • There may be leading zeroes in num or a good integer.


Example 1


  • Input: num = “6777133339”
  • Output: “777”
  • Explanation:
    • There are two distinct good integers: “777” and “333”.
    • “777” is the largest, so we return “777”.


Example 2


  • Input: num = “2300019”
  • Output: “000”
  • Explanation: “000” is the only good integer.


Example 3


  • Input: num = “42352338”
  • Output: “”
  • Explanation:
    • No substring of length 3 consists of only one unique digit. Therefore, there are no good integers.


Constraints


  • 3 <= num.length <= 1000
  • num only consists of digits.


Hint


Hint 1
  We can sequentially check if “999”, “888”, “777”, … , “000” exists in num in that order. The first to be found is the maximum good integer.
	
Hint 2
  If we cannot find any of the above integers, we return an empty string “”.
	







Code


내 제출


1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
    public String largestGoodInteger(String num) {
        for (int i = 9; i >= 0; i--) {
            String s = String.valueOf(i).repeat(3);
            if (num.contains(s)) {
                return s;
            }
        }
        return "";
    }
}


RuntimeMemory
1 ms41.9 MB


다른 풀이


1
2
3
4
5
6
7
8
9
10
class Solution {
    public String largestGoodInteger(String num) {
        String[] toFind = new String[]{"999", "888", "777", "666", "555", "444", "333", "222", "111", "000"};
        for (String ans : toFind) {
            if (num.contains(ans)) return ans;
        }
        return "";
    }
}


Reference


  • https://github.com/doocs/leetcode/blob/main/solution/2200-2299/2264.Largest%203-Same-Digit%20Number%20in%20String/Solution.java
This post is licensed under CC BY 4.0 by the author.